2015-01-09 84 views
8

我收到格式为格式的日期,2013年10月18日星期五格林威治标准时间11:38:23 GMT。问题是,时间正在搞乱我使用的时间线。从格林威治标准时间格式中删除时间

如何去除除实际日期以外的所有内容?

+0

'的console.log(新的日期( '周五,2013年10月18日11时38分23秒GMT')toDateString()一致); ' – scniro 2015-01-09 21:36:12

+0

当我这样做的时候,格林尼治平时日期是'Mon Jan 12 00:00:00 GMT 2015',当我把它插入'toDateString()'函数时,我最终会落后于2015年1月11日。 – 2015-01-09 21:41:59

+1

试着用'toLocaleString(params)'来处理一下,并提供所需的格式参数。 – Qwerty 2015-01-09 21:55:58

回答

17

像这样:

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); 
+0

我必须将切片更改为0,3,但工作完美!谢谢 – 2015-01-09 23:02:46

1

只是substring削减它:

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

在这种情况下,你可以操纵你的字符串,而无需使用Date对象。

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

11

如果你想使用的日期,而不是字符串,你可以这样做是为了保持:

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

+1

如果你使用UTC日期,你应该使用[setUTCHours](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setUTCHours),因为setHours将时间设置为根据当地时间指定的日期._ – wiktor 2017-02-15 08:33:01

0

我使用此解决方法:

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