Javascript 如何在JS中解析日期?
我必须从字符串中的长日期中正确获取日期值 我有这个日期:Javascript 如何在JS中解析日期?,javascript,typescript,Javascript,Typescript,我必须从字符串中的长日期中正确获取日期值 我有这个日期: Sun Aug 30 2020 00:00:00 GMT+0200 (Central European Summer Time) 如何将此日期解析为:2020-08-30 我还有另一个用例: Tue Aug 25 2020 11:58:04 GMT+0200 (Central European Summer Time) 如何将此日期解析为:11:58 谢谢你的帮助:) /////////////////////////////////
Sun Aug 30 2020 00:00:00 GMT+0200 (Central European Summer Time)
如何将此日期解析为:2020-08-30
我还有另一个用例:
Tue Aug 25 2020 11:58:04 GMT+0200 (Central European Summer Time)
如何将此日期解析为:11:58
谢谢你的帮助:)
//////////////////////////////////////////////////////////////如果您确定字符串始终采用该格式,则可以在空格上拆分:
date = "Sun Aug 30 2020 00:00:00 GMT+0200 (Central European Summer Time)";
[day_of_week, month, day, year, time, ...tz] = date.split(" ");
tz = tz.join(" "); // combine timezone back into one string
您可以进一步处理此问题,但您可能希望查看更多有关日期的信息:这将起作用:
const formatDate = (date) => {
const d = new Date(date);
let month = '' + (d.getMonth() + 1);
let day = '' + d.getDate();
const year = d.getFullYear();
if (month.length < 2) {
month = '0' + month;
}
if (day.length < 2) {
day = '0' + day;
}
return [year, month, day].join('-');
}
// Would print 2020-08-30
console.log(formatDate('Sun Aug 30 2020 00:00:00 GMT+0200 (Central European Summer Time)'))
const formatDate=(日期)=>{
常数d=新日期(日期);
设月份=“”+(d.getMonth()+1);
let day=''+d.getDate();
const year=d.getFullYear();
如果(月长<2){
月份='0'+月份;
}
如果(日长<2){
天='0'+天;
}
返回[年、月、日]。加入('-');
}
//将打印2020-08-30
console.log(格式日期('Sun Aug 30 2020 00:00:00 GMT+0200(中欧夏季时间))
函数格式日期(日期){
var d=新日期(日期),
月份=“”+(d.getMonth()+1),
日期=“”+d.getDate(),
year=d.getFullYear();
如果(月长<2)
月份='0'+月份;
如果(日长<2)
天='0'+天;
返回[年、月、日]。加入('-');
}
如果您想使用第三方lib moment.js,您可以使用这个(https://momentjs.com/)是最好且易于实现的
您可以在lib或moment中使用日期节点构建。如果你打算进行大量的日期操作,我建议使用矩npm软件包
用于获取日期版本
moment(your string).format(“YYYY-MM-DD”)
为了得到时间
moment(your string).format(“HH:mm”)
这与Kousha的答案非常相似。但也许你们都是从同一个地方复制的?
moment(your string).format(“HH:mm”)