0

わかりました、私はこの正確な日付を持っています:

2012-10-01T13:00:00+0000

これを2つの変数に分割する必要があります。1つは日付:2012-10-01で、もう1つは時間と分の時間:13: 00です。

私がこれまでに持っているものは2012-09-1214:00を生成します-完全に間違った日付...

コードは次のとおりです。

var d, dd, hh, mi, mm, theDate, theTime, yyyy;

var myDate = "2012-10-01T13:00:00+0000"; //Date I need converting into two variables

d = new Date(myDate);

yyyy = d.getFullYear().toString();
mm = d.getMonth().toString();
dd = d.getDate().toString();
hh = d.getHours().toString();
mi = d.getMinutes().toString();


theDate = yyyy + "-" + (mm[1] ? mm : "0" + mm[0]) + "-" + (dd[1] ? dd : "0" + dd[0]);
theTime = (hh[1] ? hh : "0" + hh[0]) + ":" + (mi[1] ? mi : "0" + mi[0]);

//theDate produces: 2012-09-12, (should be 2012-10-01)
//theTime produces: 14:00, (should be 13:00)
4

2 に答える 2

1

私の推測では、月は 0 から始まるため、+1 日には時間がかかるため、形式が間違っています。実際に構築したものを確認するには、d を出力する必要があります。その試みとは別に: 日付のフォーマット

于 2012-09-12T12:19:20.420 に答える
0

月に 1 を加算します。

時間は、ローカル タイムゾーンに基づいて調整されます。GMT +1 にいるため、14:00 を取得しています。時刻を 13:00:00+0100 に変更して、正しい時刻を取得します。

于 2012-09-12T12:26:10.247 に答える