2つを簡単に比較できるように、SQLのdateTimeをjavascriptの日付時刻と比較する簡単な方法はありますか?
SQLを編集できないため、JavaScript関数が組み込まれていますか
2つを簡単に比較できるように、SQLのdateTimeをjavascriptの日付時刻と比較する簡単な方法はありますか?
SQLを編集できないため、JavaScript関数が組み込まれていますか
日付文字列が SQL から来ていると仮定します。
>>> new Date('2012-11-10 15:16:17')
Date {Invalid Date}
>>> new Date('2012-11-10T15:16:17')
Date {Sat Nov 10 2012 15:16:17 GMT+0100}
>>> new Date('2012-11-10 15:16:17'.replace(' ', 'T'))
Date {Sat Nov 10 2012 15:16:17 GMT+0100}
ロンドン時間の場合のように、オフセットを追加することで、任意のタイムゾーンからの入力を処理できます。
>>> new Date('2012-11-10 15:16:17'.replace(' ', 'T') + '+00:00')
Date {Sat Nov 10 2012 16:16:17 GMT+0100}
JavaScript で 2 つの日付を比較するには、単純にそれらを減算して差をミリ秒単位で返します。
>>> var d1 = new Date('2012-11-10T15:16:17'); var d2 = new Date('2012-11-10T15:16:18'); d2 - d1
1000
これは、月などで比較するのに最適なクラスです。
MySQL DATETIME 文字列を JavaScript Date オブジェクトに変換するには:
var sqlDateStr = "2012-01-02 23:58:59"; // as for MySQL DATETIME
sqlDateStr = sqlDateStr.replace(/:| /g,"-");
var YMDhms = sqlDateStr.split("-");
var sqlDate = new Date();
sqlDate.setFullYear(parseInt(YMDhms[0]), parseInt(YMDhms[1])-1,
parseInt(YMDhms[2]));
sqlDate.setHours(parseInt(YMDhms[3]), parseInt(YMDhms[4]),
parseInt(YMDhms[5]), 0/*msValue*/);
alert(sqlDate);
javascriptでSQL日時にどのようにアクセスしていますか。あなたがそれを文字列として持っていると仮定しています。組み込みのjsDate.parse()関数は、さまざまな文字列を解析してjsDateオブジェクトを返すことができます。
https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Date/parse
SQLの日付がカスタム形式で返される場合は、手動で関連する年、月、日付、時間、分、秒のコンポーネントに分割し、適切なDate()コンストラクターを使用してDateオブジェクトをアセンブルする必要があります。