簡體   English   中英

如何將沒有分隔符的字符串轉換為日期?

[英]How do I convert a string with no delimiters into a date?

我想把20170603轉換成日期。 我想使用函數new Date(2017,06,03),但如何從日期中提取數字? 我試過用

 new Date(parseInt(startDate.substr(0,4)), parseInt(startDate.substr(5,6)) -1, parseInt(startDate.substr(6,8))) 

然而,這給了我非常奇怪的價值。 如何將確切的數字提取到Date函數中?

substr函數的第二個參數是要提取的字符串的長度;

new Date(parseInt(startDate.substr(0,4)), 
         parseInt(startDate.substr(4,2)) - 1, 
         parseInt(startDate.substr(6,2)));

substr方法(String)(JavaScript)

replace()RegExp一起使用

 const date_str = "20170603"; console.log( new Date( date_str.replace( /(\\d{4})(\\d{2})(\\d{2})/, "$1/$2/$3" ) ) ); 

如果使用外部庫不是問題。 我建議使用moment.js

有很多種方法可供選擇。 對於你的情況。

var d = new moment("20170603 ", "YYYYMMDD").toDate();

我正在使用這個lib來解決很多挑戰。

按字符數切片:

new Date(my_str.match(/(....)(..)(..)/).slice(1,4).join('/'))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM