我目前正在尝试使用JavaScript格式化时间戳。可悲的是,结果有点奇怪。这是我要格式化的日期:
2019年5月23日星期四17:34:18 GMT + 0200(MitteleuropäischeSommerzeit)
这是格式化后的样子:
23.05.2019
这是我的代码:
j = myDateString;
console.log(j.getUTCDate() + "." + j.getUTCMonth() + "." + j.getUTCFullYear());
但是当我运行代码时,结果就是:
23.4.2019
答案 0 :(得分:5)
getUTCMonth()
从0(一月)开始,通过加一个来解决。
console.log(j.getUTCDate() + "." + (j.getUTCMonth() + 1) + "." + j.getUTCFullYear());
答案 1 :(得分:3)
首先,该月关闭。一月是0,十二月是11,所以在月份中加1。 其次,您需要一个向左填充0的函数。幸运的是,JavaScript附带了。
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/padStart
例如, '5'.padStart(2,'0')
输出'05'
尝试一下:
console.log(j.getUTCDate().toString().padStart(2,'0') + "." + (j.getUTCMonth() + 1).toString().padStart(2,'0') + "." + j.getUTCFullYear());
[编辑] 此功能可能在较旧的浏览器中不存在,但是我链接的页面上有一个polyfill,很容易实现。