从 GMT 时间格式中删除时间

Remove time from GMT time format

我得到一个 GMT 格式的日期,2013 年 10 月 18 日星期五 11:38:23 GMT。问题是时间弄乱了我正在使用的时间表。

我怎样才能删除除实际日期以外的所有内容?

像这样:

var dateString = 'Mon Jan 12 00:00:00 GMT 2015';
dateString = new Date(dateString).toUTCString();
dateString = dateString.split(' ').slice(0, 4).join(' ');
console.log(dateString);

substring剪一下:

 var str = 'Fri, 18 Oct 2013 11:38:23 GMT';
 str = str.substring(0,tomorrow.toLocaleString().indexOf(':')-3);

在这种情况下,您可以在不使用 Date 对象的情况下直接操作字符串。

var dateTime = 'Fri, 18 Oct 2013 11:38:23 GMT',
    date = dateTime.split(' ', 4).join(' ');
    
document.body.appendChild(document.createTextNode(date));

如果您想继续使用日期而不是字符串,您可以这样做:

var d=new Date(); //your date object
console.log(new Date(d.setHours(0,0,0,0)));

-PS,你不需要一个新的 Date 对象,它只是一个例子,以防你想将它记录到控制台。

http://www.w3schools.com/jsref/jsref_sethours.asp

我正在使用这个解决方法:

// d being your current date with wrong times
new Date(d.getFullYear(), d.getMonth(), d.getDate())

您可以先将日期转换为字符串:

String dateString = String.valueOf(date);

然后将 substring 应用于字符串:

dateString.substring(4, 11) + dateString.substring(30);

您需要小心,因为将日期转换为字符串实际上也会更改日期格式。

您可以使用 Moment.js,这是一个库,它提供了许多辅助函数来验证、操作、显示和格式化 JavaScript 中的日期和时间。

使用 Moment.js 库:

var dateString = new Date('Mon Jan 12 00:00:00 GMT 2015');
moment(dateString).format('YYYY-MM-DD HH:mm');

或简化:

moment('Mon Jan 12 00:00:00 GMT 2015').format('YYYY-MM-DD HH:mm')

嗯,

这是我的解决方案

let dateString = 'Mon May 25 01:07:00 GMT 2020';
let dateObj = new Date(dateString);

console.log(dateObj.toDateString());
// outputs Mon May 25 2020

在 MDN 上查看其文档 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toDateString