1

さて、次の問題があります。現在の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;

    }
}

ご覧のとおり、文字列が返されます。しかし、この関数で日付に変換したい場合。私はこのフォーマットを取得します Fri May 11 2012 09:37:00 GMT+0200 (Romance Daylight Time)

date = new Date(dateString);

そして、これでは計算できません。

チェックを実行できるように、この形式で現在の日付を取得する方法を教えてください。

敬具。

4

2 に答える 2

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
}
于 2012-05-11T07:52:32.577 に答える
0

datejsは、日付操作の問題を解決するためのもう 1 つのライブラリです。

于 2012-05-11T07:58:45.367 に答える