2012-05-11 14 views
1

次の問題があります。現在のdateTimeを取得して、入力した日付が現在のDateTimeよりも大きいかどうかを確認したいと思います。私のdateTimeの書式は次のようになります。dateTimeをフォーマットする方法

03/11/2012 09:37 AM 

ここに、現在のDateTimeの取得方法があります。

function getCurrentDateTime() 
{ 
    var currentTime = new Date() 
    // Date 
    var month = currentTime.getMonth() + 1; 
    if (month < 10){ 
     month = "0" + month; 
    } 
    var day = currentTime.getDate(); 
    var year = currentTime.getFullYear(); 

    // Time 
    var hours = currentTime.getHours(); 
    var minutes = currentTime.getMinutes(); 
    if (minutes < 10){ 
     minutes = "0" + minutes; 
    } 

    if(hours > 11){ 
     var dateString = month + "/" + day + "/" + year + " " + hours + ":" + minutes + " " + "PM"; 
     test = new Date(dateString); 
     return dateString ; 
    } else { 
     var dateString = month + "/" + day + "/" + year + " " + hours + ":" + minutes + " " + "AM"; 

     return dateString; 

    } 
} 

どのように文字列を返すか分かります。しかし、私はこの機能で日付に変換したいとき。私は

date = new Date(dateString); 

このフォーマット金2012年5月11日午前9時37分○○秒GMT + 0200(ロマンス夏時間)を取得し、これを私は計算することができません。

この形式で現在の日付を取得する方法を教えてもらえますか?

大切にしてください。

+0

date.jsライブラリは本当にクールです。それを試してみてください。 –

答えて

2

Javascriptは、そのままの状態で作業するための機能が非常に限られています。 momentjsのような外部ライブラリを使用してください。

たとえば、あなたの関数が

var stringDate = moment().format("DD/MM/YYYY HH:mm A"); 

に減少するであろうと、あなたがそれを変換し、

var earlierDate = moment(stringDate, "DD/MM/YYYY HH:mm A"); 
if (earlierDate.valueOf() < moment().valueOf()) { 
    // earlier indeed 
} 
+0

私はこれを行うと、ミリ秒になる var dateString =月+ "/" +日+ "/" +年+ "" +時間+ ":" +分+ "" + "AM"; \t \t var test = moment(dateString、 "DD/MM/YYYY HH:mm A"); \t \tリターンテスト – Steaphann

+0

@StefGeelen:あなたが何を言っているのか分かりません... – Jon

+0

私がしたいのは、現在のDateTimeを取得することだけです。これをDateの型であるvarに入れてください。03/11/2012 09:37 AM – Steaphann

0

datejsと現在の時刻と比較することができ、日付、操作の問題を解決するための別のlibです

関連する問題