簡體   English   中英

在 javascript 中將日期轉換為有線格式 (YYYY-MM-DD)

[英]Transform date to wire format (YYYY-MM-DD) in javascript

有這個輸入: Wed Feb 03 2021 00:00:00 GMT+0200 (Eastern European Standard Time) ,有沒有辦法將其格式化為 YYYY-MM-DD ,它將變為2021-02-03

嘗試這個:

 const date = moment(new Date('Wed Feb 03 2021 00:00:00 GMT+0200 (Eastern European Standard Time)')).format('YYYY-MM-DD'); console.log(date);
 <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment.min.js" integrity="sha512-qTXRIMyZIFb8iQcfjXWCO8+M5Tbc38Qi5WzdPOYZHIlZpzBHG3L3by84BBBOiRGiEb7KKtAOAs5qYdUiZiQNNQ==" crossorigin="anonymous"></script>

如果時間戳包含偏移量或時區,則將時間戳解析為日期以重新格式化它可能會產生不正確的結果。 鑒於“2021 年 2 月 3 日星期三 00:00:00 GMT+0200(東歐標准時間)”,對於偏移量為 +1 或更小的用戶,日期將是 2 月 2 日,而不是 2 月 3 日。

最可靠的方法是重新格式化字符串,例如

 let timestamp = "Wed Feb 03 2021 00:00:00 GMT+0200 (Eastern European Standard Time)"; let months = [,'Jan','Feb','Mar','Apr','May','Jun', 'Jul','Aug','Sep','Oct','Nov','Dec']; let pad = n=>('0'+n).slice(-2); let p = timestamp.split(' '); console.log(`${p[3]}-${pad(months.indexOf(p[1]))}-${p[2]}`);

暫無
暫無

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

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