首页 > 解决方案 > 如何以无空格格式获取时间?javascript

问题描述

我想按照上传的顺序将数据保存到数据库中,我决定使用 ISO 中的当前时间,比如日期是 -> 2021 年 6 月 29 日星期二,19(小时):36(分钟):45(秒),我提取从它开始的时间为 193645 这确保了根据当天的时间显示数据,

但是如果秒是个位数,例如(14(小时):32(分钟):05(秒)),但它会显示没有 0 的 14325。

如果可能的话,我想要这个日期的时间 ​​-(2021 年 6 月 29 日星期二,19(小时):36(分钟):45(秒))

to(不带括号) - 21(年)06(月)29(日)19(小时)36(分钟)45(秒)

let _today = new Date().toISOString()
let dateToday = new Date(_today)
_time = dateToday.getHours().toString() + dateToday.getMinutes().toString() + dateToday.getSeconds().toString()
console.log(_time)

这是我当前的代码

标签: javascript

解决方案


您可以删除分隔符并获取所需的子字符串。

就像在这个函数中

symbolless = (date) => date.toISOString().replace(/[\-\.\:ZT]/g,"").substr(2,10)

由于 JavaScript 使用 UTC-0 作为.toISOString().

使用负分钟获取时区.getTimezoneOffset()并乘以 -60000 以获得以毫秒为单位的正确偏移量。请注意,时区将取决于机器本地时区,因此其他时区的部署或用户在运行命令时会产生不同的结果(这可能会在未来通过引入temporal得到修复)。

symbolless = (date) => new Date(date.getTime() + date.getTimezoneOffset() * -60000)
                               .toISOString()
                               .replace(/[\-\.\:ZT]/g,"")
                               .substr(2,10)

运行新功能symbolless(new Date('August 19, 1975 23:15:30 UTC'))7508200015在我的时区产生。采用以下格式:

YYMMDDHHMM
7508200015

这是正确的,因为日期现在是 UTC+1。


推荐阅读