Date objectのドキュメントをご覧ください。
指定された日付の時刻に対応する数値を世界時に応じて取得できるようにする方法はgetTime
です。つまり、getTime
メソッドによって返される値は、1970年1月1日00:00:00 UTCからのミリ秒数です。あなたは次の操作を行うことができることを意味し
:だから、それはタイムゾーンを尊重することを
var departureDate = new Date(Date.UTC(year, month, day, hour, minute, second))
arrivalDate = new Date(Date.UTC(year, month, day, hour, minute, second))
:
if (departureDate.getTime() > arrivalDate.getTime()) {
// Do something
}
あなたがあなたの日付、次のように宣言提供。あなたはUTCの日付を指定する必要があります。 Javascriptにはこれ以上のタイムゾーンを処理する組み込みの方法はありません。私の最初の文章ではDateオブジェクトに関するドキュメントを見ています。
編集:チャットであなたと話をした後、ここで私はあなたが欲しいと思うものです:
では、次のを持っていることよる
var orgti = document.getElementById('orginTimeZone').value;
var desct = document.getElementById('descTimeZone').value;
var selfwDepDate = document.forms[0].fwDepartureDate.value;
var selfwDepTime = document.forms[0].fwDepartureTime.value;
var selfwArrDate = document.forms[0].fwArrivalDate.value;
var selfwArrTime = document.forms[0].fwArrivalTime.value;
あなたは両方の日付を比較するには、この操作を行うことができます。
var departureDate = new Date(Date.UTC(selfwDepDate + selfwDepTime)) // This creates a date with what you got
var arrivalDate = new Date(Date.UTC(selfwArrDate + selfwArrTime)) // This too
// Now the tricky part: you substract the timezone, so that you get the same referential for both dates
departureDate = departureDate.getTime() - (orgit * 3600000) // Multiplying by 3600000 to transform hours into milliseconds since "getTime" returns milliseconds
arrivalDate = arrivalDate.getTime() - (desct * 3600000) // Same
// Now, you've got two timestamps based on dates with the same referential. You can use:
if (departureDate > arrivalDate) {
// Do something
}
2つの日付のタイムゾーンは異なるです....実際には3つの引数をとります.1つは日付、時刻、タイムゾーンです。 –
'getTime'は1970年1月1日からのミリ秒数を返すので、タイムゾーンが考慮されます。 'Date'オブジェクトにタイムゾーンを指定すると、それは問題ではありません。 –
私は比較、..を行うための完全な機能を私に提供することができます私は手、日付、時間と時間帯別々に3つの異なる引数を持っていたと言いました.. –