簡體   English   中英

JavaScript將字符串轉換為日期格式(dd mmm yyyy),即2012年6月1日

[英]JavaScript convert string into Date with format (dd mmm yyyy) i.e. 01 Jun 2012

我得到一個字符串變量,格式為6/1/2012格式,我想將其轉換為01 Jun 2012 JS FIDDLE DEMO

我試過的代碼:

var t_sdate="6/1/2012";                  
var sptdate = String(t_sdate).split("/");
var myMonth = sptdate[0];
var myDay = sptdate[1];
var myYear = sptdate[2];
var combineDatestr = myYear + "/" + myMonth + "/" + myDay;

var dt = new Date(combineDatestr);
var formatedDate= dt.format("dd mmm yyyy")
alert(formatedDate);

獲得輸出為01 000 2012 ,需要01 Jun 2012

試試這個:

function getFormattedDate(input) {
    var pattern = /(.*?)\/(.*?)\/(.*?)$/;
    var result = input.replace(pattern,function(match,p1,p2,p3){
        var months = ['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'];
        return (p2<10?"0"+p2:p2) + " " + months[(p1-1)] + " " + p3;
    });

    alert(result);
}

getFormattedDate("6/1/2013");

Jsfiddle演示

由於其他用戶已經提到"format"不是Date對象的標准方法。 你可以不使用任何格式方法(即使有任何格式)

var t_sdate = "6/1/2012";
var sptdate = String(t_sdate).split("/");
var months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
var myMonth = sptdate[0];
var myDay = sptdate[1];
var myYear = sptdate[2];
var combineDatestr = myDay + " " + months[myMonth - 1] + " " + myYear;

alert(combineDatestr);

JsFiddle演示

return $.datepicker.formatDate('dd-M-yy', new Date(dateVal)); //01-Dec-2014

您可能想要使用javascript Intl https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat

以下示例將顯示Nov 02, 2017

console.log(new Intl.DateTimeFormat('en-EN', { year: 'numeric', month: 'short', day: 'numeric' }).format(new Date()));

Milton.-

“format”不是Date對象的標准方法

dt.format("dd MMM yyyy")

使用大寫字母。

暫無
暫無

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

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