Convert string to new Date object in UTC timeZONE

2019-09-20 03:52发布

Can anyone let me know how to convert a string to a date Object with UTC time zone in ExtJs?

String is "2015-10-07T23:59:00". I would like to get the same in Date Object without changing the timezone.

3条回答
Rolldiameter
2楼-- · 2019-09-20 04:33

First of all, your date string does not have a timezone.

When you make a JavaScript date object from a string, there are two possible outcomes you could expect:

  • You may want the date to be 23:59 Local (23:59 CEST in my case).
    In this case, you want to use new Date("2015-10-07 23:59:00") with plain javascript (note the missing T), or Ext.Date.parse("2015-10-07T23:59:00","c");.
  • You may want the date to be 23:59 UTC (e.g. 01:59 CEST).
    In this case, you want to use new Date("2015-10-07T23:59:00").

Of course, whenever you output the date, you have to get the date in the correct time zone as well. The console/toString will usually show it in local time. JavaScript does provide getUTC... methods if you require other time zones.

You see, using Time Zones with JavaScript is a painful experience. I would recommend to try moment.js if you need full time zone support.

查看更多
神经病院院长
3楼-- · 2019-09-20 04:46

try

var millisFromEpoch = Date.parse('2015-10-07T23:59:00');

it will parse date in GMT timezone, Ext.date.parse use the current timezone instead

查看更多
倾城 Initia
4楼-- · 2019-09-20 04:53

You can use Ext.Date.parse.It gives Date Object as output.It syntax is:

Ext.Date.parse( String input, String format, [Boolean strict] )

For Example:

Ext.Date.parse("2015-10-07T23:59:00", "Y-m-dTH:i:s");
查看更多
登录 后发表回答