Ignoring timezones when creating a date in javascr

2019-02-02 01:41发布

I am creating a schedule for something on the east coast, and I need to create a date that always returns a date object/timestamp for this time.

So, if I open the page in Paris at 18:00, the "new myDate()" should return 12:00.

Any suggestions on how I can do this with wither momentJS or just Javascript? The end result should be a javascript Date object.

2条回答
Deceive 欺骗
2楼-- · 2019-02-02 02:22

If you want your timezone completely ignored, you can use the following approach:

  var firstDayStr = '29 January 2014';
  var startAtTime = '10:01:02 AM';
  var localFormat = 'YYYY-MM-DD[T]HH:mm:ss';

  var m = moment(firstDayStr + ' ' + startAtTime).format(localFormat);

  console.log(m);

Output:

2014-01-29T10:01:02 
查看更多
Explosion°爆炸
3楼-- · 2019-02-02 02:34

You can do this with moment.js using moment.utc().

http://momentjs.com/docs/#/parsing/utc/

moment([2011, 10, 8, 5]).format(); // different output based on timezone
moment.utc([2011, 10, 8, 5]).format(); // same output for all timezones

The way moment.utc works is by setting a flag internally to use getUTCMinutes instead of getMinutes, thus the output is the same in all timezones.

查看更多
登录 后发表回答