繁体   English   中英

从javascript中的日期时间字符串中提取日期和时间

[英]Extract date and time from datetime string in javascript

我的日期时间字符串格式如下:

var sdt = '2022-05-19T13:00:00';

我想分别提取日期和时间,下面是我的代码:

((sdt.getMonth() > 8) ? (sdt.getMonth() + 1) : ('0' + (sdt.getMonth() + 1))) + '/' + ((sdt.getDate() > 9) ? sdt.getDate() : ('0' + sdt.getDate())) + '/' + sdt.getFullYear() + ' ' + (sdt.getHours()) + ':' + (sdt.getMinutes()) + ':00'

从上面的代码中,可以正确提取日期,但不能正确提取时间。 有什么帮助吗?

您可以使用Date对象并使用Date#toLocaleDateString & Date#toLocaleTimeString方法来获取您的时间和日期

甚至是Date#toLocaleString同时获得两者!

 const sdt = '2022-05-19T13:00:00'; const date = new Date(sdt) console.log(date.toLocaleString()) console.log(date.toLocaleDateString()) console.log(date.toLocaleTimeString())

请注意,您可以指定位置以获取当前国家/地区的日期

date.toLocaleString('en-GB')

使用Date()构造函数:

const sdtString = '2022-05-19T13:00:00'; // https://en.wikipedia.org/wiki/ISO_8601
const sdt = new Date(sdtString); // Date Object {}

然后获取相应的日期/时间使用:

另外,值得记住的是getMonth()给出了月份的索引(从零开始),而不是数字。

在处理 date 和 time 时,我总是使用 moment.js。 只需传递日期时间字符串并指定所需的输出格式。

import moment from 'moment'

var sdt = '2022-05-19T13:00:00';

let time = moment(sdt).format("HH:mm:ss")
let date = moment(sdt).format("DD/MM/YYYY")

console.log(time)  //01:00:00
console.log(date) //19/05/2022

https://momentjs.com/查看此页面以了解更多格式

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM