我有一个以ISO格式从数据库返回的日期时间。它们看起来像这样:2015-11-03T10:06:50.000Z
。我正在使用moment.js对其进行解析,以使其更具可读性,并且结果如下所示:11-03-2015 10:06:50 AM
。我只想在日期和时间之间添加另一个空格,以便于阅读。有什么想法吗?
我尝试在日期和时间之间添加另一个空格,看来它去除了除一个空格以外的所有空格。我也尝试过连字符和竖线,但这些看上去并不太像我想要的样子。
rows.forEach(row => {
// TODO find a way to put more blank space between date and time
let formattedDateTime = moment.utc(row.DateTime).format(`MM-DD-YYYY hh:mm:ss A`)
row.DateTime = formattedDateTime
// console.log('formatted datetime', formattedDateTime)
})
预期:在moment.format中的日期和时间之间添加空格会在客户端上反映出这种方式。
实际:在日期和时间之间只能留一个空格。其他所有空格都将被删除。
答案 0 :(得分:3)
这不是时刻或问题的问题,momentjs会在添加空格时添加空格(您可以通过调试var或使用控制台日志轻松检查),但是默认情况下,浏览器会将多个空格折叠成一个空格。看看white-space CSS属性以了解更多信息。
此外,您不应处理日期在JS中的显示方式,而应在CSS中处理。因此,在您的情况下,我的建议是在JS代码中将日期和时间分成2个变量,并调整HTML模板和CSS以正确显示它们。
通常在HTML代码(甚至在JS代码中添加多个空格)不是一个好方法,您应该使用CSS来实现。
答案 1 :(得分:1)
分配时尝试使用模板文字:
let d = moment.utc(row.DateTime)
row.DateTime = `${d.format('MM-DD-YYYY')} ${d.format('hh:mm:ss A')}`
答案 2 :(得分:0)
有相同的要求,解决方案是使用\ xa0
moment(date).format('YYYY-MMM-DD \ xa0 \ xa0 \ xa0HH:mm');