2016-07-25 34 views
1

我有以下日期選擇器:如何從datetimepicker獲取字符串的日期?

<div class="col-md-12"> 
    <div id="register_birth_date" class="input-group date"> 
     <input id="register_birth_input" class="input_edit text-center" type="text" th:placeholder="#{label.birthday}"/> 
      <span class="input-group-addon"> 
       <span class="glyphicon glyphicon-calendar"></span> 
      </span> 
     </div> 
    </div> 

    <script> 
     $(function() { 
      $("#register_birth_date").datetimepicker({ 
       locale : "de", 
       format : "DD.MM.YYYY", 
       maxDate: "0" 
      }); 
     }); 
    </script> 
</div> 

並獲得來自輸入我這樣做與jQuery以下值:

var inputDateOfBirth = $("#register_birth_input").val(); 

console.log("date: " + inputDateOfBirth); 

,其結果是:

date: 625964400000 

我不想讓日期變長。我想把它作爲字符串,就像我定義的格式爲DD.MM.YYYY,因爲出生日期在每個時區都需要相同。

我怎樣才能得到它作爲字符串?

回答

0

看起來像是以毫秒爲單位返回日期。

var inputDateOfBirth = 625964400000; // $("#register_birth_input").val(); 
 
var date = new Date(inputDateOfBirth); 
 
console.log("date: " + inputDateOfBirth); 
 

 
var month = date.getMonth(); 
 
var day = date.getDay(); 
 
var year = date.getYear(); 
 
    
 
console.log("date: " + day + "." + month + "." + year);

這應該是可接受的格式返回日期。

+0

號我不能使用。如果我用毫秒工作,你會得到幾個當地人出生的錯誤日期。我需要直接獲取輸入。輸入格式是一個字符串「DD.MM.YYYY」,這個輸入我需要得到。 – Mulgard

+0

@Mulgard我更新了我的答案 - 這是你需要的更多嗎? – Bassie

+0

不,我不能使用毫秒。好的:用戶可以選擇出生日期和結果,例如「11.02.1986」。什麼都沒有發生,這個日期被轉換成毫秒並被返回。而這恰恰是不好的,因爲德國的「11.02.1986」以毫秒爲單位,例如美國的「10.02.1986」。所以我需要的是直接從用戶輸入中獲取字符串。 – Mulgard

0

這裏是一個例子。爲了您的代碼工作變動var date = new Date(625964400000);var date = new Date(inputDateOfBirth);

function GetDateTime(dt) { 
 
    var date = dt.getDate(); 
 
    var month = parseInt(dt.getMonth()) + 1; 
 
    var year = dt.getUTCFullYear(); 
 
    if (date < 10) { 
 
    date = "0" + date; 
 
    } 
 
    if (month < 10) { 
 
    month = "0" + month; 
 
    } 
 
    if (year < 10) { 
 
    year = "0" + year; 
 
    } 
 
    return date + "." + month + "." + year; 
 
} 
 

 
var date = new Date(625964400000); 
 
console.log(GetDateTime(date));

輸出:

enter image description here

+0

嗨。當我複製你的代碼並記錄結果時,它會顯示「11.02.1989」而不是「02.11.1989」 – Mulgard

+0

它對我來說工作正常。你可以在小提琴中發佈你的完整代碼! – Pugazh

+0

@Mulgard:嘗試'console.log(date)時會打印什麼值?'? – Pugazh