Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用Datejs将日期格式化为UTC日期_Javascript_Date_Datejs - Fatal编程技术网

Javascript 使用Datejs将日期格式化为UTC日期

Javascript 使用Datejs将日期格式化为UTC日期,javascript,date,datejs,Javascript,Date,Datejs,我需要显示一个格式化为UTC日期的日期,我应该使用。这可能吗 我需要做一些类似的事情 var d = new Date(); var dateString = d.toString("d \n MMM/yyyy \n H:mm:ss"); …但日期和时间格式为UTC 我看了文件,但最接近的是 d.toISOString(); 这会给我一个UTC字符串形式的日期,但不是我想要的格式 编辑:将ToutString更改为toISOString考虑使用一个维护更完善的库来处理日期和时间 moment

我需要显示一个格式化为UTC日期的日期,我应该使用。这可能吗

我需要做一些类似的事情

var d = new Date();
var dateString = d.toString("d \n MMM/yyyy \n H:mm:ss");
…但日期和时间格式为UTC

我看了文件,但最接近的是

d.toISOString();
这会给我一个UTC字符串形式的日期,但不是我想要的格式

编辑:将ToutString更改为toISOString

考虑使用一个维护更完善的库来处理日期和时间

moment.utc(d).format("D [\n] MMM/YYYY [\n] H:mm:ss");
如果这不是一个选项,您可以按时区偏移量移动日期(该偏移量提供UTC日期的日期/时间部分,但为本地时区),然后将其格式化:

var d2 = new Date(d.getTime() + d.getTimezoneOffset() * 60 * 1000);
console.log(d2.toString("d \n MMM/yyyy \n H:mm:ss"));

编辑:删除了对内置日期分析器的依赖。

UTC不是一种格式,它是一种时间标准。肯定已经有一个答案回答了您的问题。OP是关于date.js的,所以您的答案应该基于date.js。@RobG我的答案的第二部分基于date.js。我不认为还建议更好的替代方案是错误的。这很公平,但答案的第二部分假设内置解析器将正确解析字符串。至少有一个当前浏览器无法正确解析它,这也是建议不要使用它的原因之一。如果OP想将日期改为UTC,已经有很多答案了。@RobG指出,经过一些测试,我发现这在Safari中确实失败了。编辑我的答案以删除此依赖项。出于好奇,您知道一种跨多个浏览器测试JSFIDLE风格代码的方法吗?