簡體   English   中英

在 Javascript 中將 dd-mm-yyyy 轉換為 mm-dd-yyyy 格式的更簡潔方法

[英]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.

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