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



我的datetime字符串格式如下:

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 &日期#toLocaleTimeString方法获取您的时间和日期

甚至可以使用日期#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')

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

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/查看此页面了解更多格式

使用Date()构造函数:

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

则使用:

获取相应的日期/时间
  • Date.prototype.toLocaleTimeString ()
  • Date.prototype.toLocaleDateString ()

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

最新更新