2015-01-09 111 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()) 
相關問題