[英]Cleaner way to convert dd-mm-yyyy to mm-dd-yyyy format in Javascript
我將此日期作為字符串與我 15-07-2011 一起使用,格式為dd-mm-yyyy
。 我需要從這個字符串創建一個Date
object 。 所以我必須將dd-mm-yyyy
的日期轉換為mm-dd-yyyy
格式。
我所做的是以下。
var myDate = '15-07-2011';
var chunks = myDate.split('-');
var formattedDate = chunks[1]+'-'+chunks[0]+'-'+chunks[2];
現在我得到了mm-dd-yyyy
格式的字符串 07-15-2011,我可以將它傳遞給Date()
構造函數以創建Date
object。 我想知道是否有更清潔的方法可以做到這一點。
看起來很干凈。
重新排列字符串塊是更改日期格式的一種完全“干凈”且合法的方式。
但是,如果您對此不滿意(也許您想知道您重新排列的字符串實際上是一個有效的日期?),那么我建議您查看DateJS ,它是一個功能齊全的日期處理庫對於 Javascript。
取決於你所說的清潔劑是什么意思
var myDate = '15-07-2011';
var chunks = myDate.split('-');
var formattedDate = [chunks[1],chunks[0],chunks[2]].join("-");
有人會說這更干凈,但它本質上是一樣的。
var formattedDate = chunks[1] + '-' + chunks[0] + '-' + chunks.pop();
如果你願意,你可以減少一些變量。
var date = '15-07-2011'.split('-');
date = date[1]+'-'+date[0]+'-'+date[2];
如果你想要一個班輪
var date = '15-07-2011'.replace(/(\d*)-(\d*)-(\d*)/,'$2-$1-$3')
var c = '01-01-2011'.split('-');
var d = new Date(c[2],c[1]-1,c[0]);
我將補充我的觀點,即您的解決方案是完全有效的,但如果您想要不同的東西:
var myDate = '15-07-2011';
myDate.split('-').reverse().join('-');
會給你 '2011-07-15' ,雖然不完全是你要求的,但會被Date
正確解析
我編寫了一個用於解析、操作和格式化字符串的庫,名為Moment.js
var date = moment('15-07-2011', 'DD-MM-YYYY').format('DD-MM-YYYY');
嘗試
myDate.format("mm-dd-yyyy");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.