目标: 找到local time
,UTC time offset
然后以以下格式构建网址。
范例网址:/ Actions / Sleep?duration = 2002-10-10T12:00:00−05:00
该文件说:
例如,2002-10-10T12:00:00-05:00(2002年10月10日中午,美国中部夏令时以及美国东部标准时间)等于2002-10-10T17:00:00Z,比2002-10-10T12:00:00Z晚五个小时。
因此,根据我的理解,我需要通过新的Date()查找我的本地时间,然后使用getTimezoneOffset()函数计算时差,然后将其附加到字符串的末尾。
1.获取本地时间格式
var local = new Date().format("yyyy-MM-ddThh:mm:ss"); //today (local time)
输出
2013-07-02T09:00:00
2.获取UTC时间以小时为单位
var offset = local.getTimezoneOffset() / 60;
输出
7
3.构造URL(仅限时间部分)
var duration = local + "-" + offset + ":00";
输出:
2013-07-02T09:00:00-7:00
上面的输出表示我的本地时间是2013/07/02 9am,与UTC的时差是7小时(UTC比本地时间早7小时)
到目前为止,它似乎仍然有效,但是 如果getTimezoneOffset()返回负值(如-120)怎么办?
我想知道这种情况下的格式应该如何,因为我无法从W3C文档中弄清楚。提前致谢。
下面的代码应该可以正常运行,并且适用于所有浏览器(感谢@MattJohnson作为提示)
Date.prototype.toIsoString = function() {
var tzo = -this.getTimezoneOffset(),
dif = tzo >= 0 ? '+' : '-',
pad = function(num) {
var norm = Math.floor(Math.abs(num));
return (norm < 10 ? '0' : '') + norm;
};
return this.getFullYear() +
'-' + pad(this.getMonth() + 1) +
'-' + pad(this.getDate()) +
'T' + pad(this.getHours()) +
':' + pad(this.getMinutes()) +
':' + pad(this.getSeconds()) +
dif + pad(tzo / 60) +
':' + pad(tzo % 60);
}
var dt = new Date();
console.log(dt.toIsoString());
目标:找到和,然后以以下格式构造URL。 示例URL:/actions/sleep?duration=2002-10-10t12:00:00−05:00 格式基于W3C建议:http://www.w3.org/tr/xmlschema11-2/#datetime 文件中说: 例如,2002-10-10T12:00:00-05:00(2002年10月10日中午,中央夏令时和美国东部标准时间)等于20
问题内容: 我正在使用bootstrap-datetimepicker和ISO8601 datetime格式,如其选项部分所述 在我的控制器中 它以(console.log)将数据发送到后端 并保存为数据库 在我的模板中 我在HTML上看到的输出为 但是根据Angular doc,它应该用于格式 我想念的是什么? 问题答案: 现在,我已经创建了一个过滤器 作为依赖项添加为 并用作 并将日期显示为
我有一个客户端JavaScript,它用JavaScript生成日期()。 我需要这个日期传递到一个隐藏的字段,后面的代码可以访问。 我的问题是,当隐藏字段转换为DotNet datetime时,时间是不正确的。这是因为JavaScript包含来自客户端浏览器的时区信息。 然后,DotNet使用此信息根据服务器时间和客户端时间之间的差异重新计算时间。 我需要的是JavaScript中的年、月和日。
有没有办法将ISO8601日期与Java进行比较?比如,知道字符串日期是否是良好的格式,知道月份是否为负数,以及 我还在搜索如何知道互联网上是否有课程可以比较两个ISO8601日期?比如,如果我有:2000-12-12和1999-05-06。我如何比较这两个日期,使之在年、月和日之间有准确的差异?
问题内容: 在JavaScript中,如何格式化日期对象以打印为? 问题答案: 对于自定义分隔的日期格式,你必须从DateTimeFormat对象(属于ECMAScript Internationalization API的一部分)中提取日期(或时间)组件,然后手动使用所需的分隔符创建字符串。 为此,你可以使用DateTimeFormat#formatToParts: 你还可以使用来一对一地提取各
问题内容: 如何转换此 格式 ( ISO8601格式 ): 2014-03-13T09:05:50.240Z 为此( MySQL DATE格式 ): 2014-03-13 在PHP中? 问题答案: 尝试这个 完整的日期功能文档可以在这里找到:http : //php.net/manual/en/function.date.php PHP函数“ strtotime”不执行任何其他操作,然后将您的时间