Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在JS中解析日期?_Javascript_Typescript - Fatal编程技术网

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”)