844

Moment.js を使用すると、正しい瞬間オブジェクトをタイムゾーン付きの日付オブジェクトに変換できません。正しい日付を取得できません。

例:

var oldDate = new Date(),
    momentObj = moment(oldDate).tz("MST7MDT"),
    newDate = momentObj.toDate();
console.log("start date " + oldDate)
console.log("Format from moment with offset " + momentObj.format())
console.log("Format from moment without offset " + momentObj.utc().format())
console.log("(Date object) Time with offset " + newDate)
console.log("(Date object) Time without offset "+ moment.utc(newDate).toDate())
4

11 に答える 11

27

.toDate私にとっては本当にうまくいきませんでした。だから、これが私がしたことです:

futureStartAtDate = new Date(moment().locale("en").add(1, 'd').format("MMM DD, YYYY HH:MM"))

お役に立てれば

于 2015-03-13T10:04:39.637 に答える
4

日付文字列にタイムゾーン情報が必要でした。私はもともと使用してmoment.tz(dateStr, 'America/New_York').toString();いましたが、その文字列を瞬間に戻すことについてエラーが発生し始めました。

を試しましたmoment.tz(dateStr, 'America/New_York').toDate();が、必要なタイムゾーン情報が失われました。

瞬間にフィードバックできるタイムゾーンで使用可能な日付文字列を返す唯一のソリューションはmoment.tz(dateStr, 'America/New_York').format();

于 2016-03-19T04:35:11.153 に答える