我正在学习 NodeJS 并重写一些代码来看看它的比较如何。对于一个脚本,我尝试以字符串形式获取日期并将其转换为 JavaScript Date 对象来执行计算。
我设法通过将字符串转换为数组并处理每个字符来做到这一点。不过它看起来很丑,我想知道是否有更干净的方法,比如相当于 sprintf 之类的东西。我确信我可以找到一个模块,但我想知道 JS 中是否有本地方法。这就是我所拥有的:
var a = '081320141900'.split('');
creationDate = a[0] + a[1] + "/" + a[2] + a[3] + "/" + a[4] + a[5] + a[6] + a[7] + " " + a[8] + a[9] + ":" + a[10] + a[11];
console.log('Creation Date: ' + creationDate);
输出:
Creation Date: 08/13/2014 19:00
同样,上述工作正常,只是想知道是否可以做得更干净。
最佳答案
通常,您会使用 Date.parse
,但在这里,您不能,因为您输入的日期使用自定义格式。
但是有一些事情您可以改进:
使用
new Date()
构建一个日期对象。然后您可以对其进行格式化。使用
parseInt()
(参见 this answer )在子字符串上(例如a.substr(0, 2)
)。验证您的输入。
为变量使用更好的名称。
a
不是一个好名字。
关于JavaScript 打印格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25494587/