将字符串转换为UTC timeZONE中的新Date对象

时间:2015-10-07 13:58:17

标签: javascript extjs

有人可以告诉我如何在ExtJs中使用UTC时区将string转换为date对象吗?

字符串是"2015-10-07T23:59:00"。我希望在Date Object中获得相同的内容而不更改时区。

3 个答案:

答案 0 :(得分:1)

首先,您的日期字符串没有时区。

当您从字符串中创建JavaScript日期对象时,您可能会遇到两种可能的结果:

  • 您可能希望日期为23:59本地(在我的情况下为23:59 CEST) 在这种情况下,您希望new Date("2015-10-07 23:59:00")使用普通的javascript(请注意缺少T)或Ext.Date.parse("2015-10-07T23:59:00","c");
  • 您可能希望日期为UTC时间23:59(例如CEST 01:59) 在这种情况下,您要使用new Date("2015-10-07T23:59:00")

当然,无论何时输出日期,您都必须在正确的时区内获取日期。 console / toString通常会在本地时间显示它。如果您需要其他时区,JavaScript会提供getUTC...方法。

你知道,使用带有JavaScript的时区是一种痛苦的经历。如果你需要全时区支持,我建议你试试moment.js。

答案 1 :(得分:0)

您可以使用function cleanseData($data, $mode = false, $limit = 0) { if ($mode) { $data = (mb_strlen ( $data ) > ($limit + 3)) ? mb_substr ( $data, 0, $limit, mb_detect_encoding($data) ) . '...' : $data; } $data = utf8tohtml ( $data, true ); return $data; } 。它提供日期对象作为输出。它的语法是:

Ext.Date.parse

例如:

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

答案 2 :(得分:0)

尝试

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

它将在GMT时区解析日期,Ext.date.parse使用当前时区代替