2016-12-25 166 views
1

我爲了一個日期字符串轉換爲JavaScript日期對象來使用這個方法:從日期時間字符串轉換爲JavaScript日期對象

function convertToDateOrUndefined(dateString) { 
    if (dateString instanceof Date || dateString == null) { 
     return undefined; 
    } 
    return new Date(dateString.replace(/(\d{2})\.(\d{2})\.(\d{4})/,'$3-$2-$1')); 
} 

目前我有這個日期字符串「DD.MM.YYYY HH:MM '我也需要一個函數來將這個字符串轉換成js日期對象。 我並不擅長正則表達式,所以我需要幫助 - 謝謝!

回答

0

regex解決方案。希望這有助於

var dateString = '25.12.2016 00:00'; 
 
var formattedDateString = dateString.split(' ')[0].split('.').reverse().join('-'); 
 

 
var dateObj = new Date(formattedDateString); 
 

 
console.log(dateObj);

1

看待當前正則表達式。你知道它會從你的dd.MM.yyyy格式返回一個日期,對吧?所以,你可以認爲這三個(\d{n})代表日,月和年(\d指一個數字,{n}意味着n倍,所以\d{2}平均兩位數;在()組各部分,所以我們可以稍後再引用它們)。

在第二個字符串中,我們從第一個字符串獲取部分,並對它們進行重新排序。 $1是第一組(()內的正則表達式的一部分),$2是第二基等

從那裏,一直到溶液是簡單的。我們只需要添加時間部分:

new Date(dateString.replace(/(\d{2})\.(\d{2})\.(\d{4}) (\d{2}):(\d{2})/,'$3-$2-$1 $4:$5')); 
相關問題