2016-12-23 64 views
1

我與數據從查詢更新的HTML輸入字段的值:JQuery的格式值日期

$("##warranty_end_date#id#").val(warranty_end_date); 

但數據是儲存在我的數據庫爲SQL日期/時間,並具備輸出這樣的:月,08 2019 00:00:00 -0400

我想數據像這樣被格式化:2016年5月8日

我怎樣才能做到這一點?

+3

可能的重複[我在哪裏可以找到有關在JavaScript中格式化日期的文檔?](http://stackoverflow.com/questions/1056728/where-can-i-find-documentation-on-formatting-a-date -in-javascript) – godzillante

回答

1

warranty_end_date =「五月,08 2019 00:00:00 - 0400" ;

var d = new Date(warranty_end_date); (「00」+(d.getDate())。toString())。slice(-2)+「/」+(「00」+(d.getMonth()+1))。 toString())。slice(-2)+「/」+(1900 + d.getYear())。toString(); val(f);

$(「## warranty_end_date#id#」).val(f);

+0

這很完美。謝謝! –

+0

我實際上意識到這是輸出dd/mm/yyyy。我怎樣才能把它切換到mm/dd/yyyy? –

+1

只是在開始部分切換中間部分:var f =(「00」+(d.getMonth()+ 1).toString())。slice(-2)+「/」+(「00 「+(d.getDate())。toString())。slice(-2)+」/「+(1900 + d.getYear())。toString(); – Falco

1

也許你可以在SQL查詢中格式化日期。 喜歡的東西:

SELECT convert(varchar, getdate(), 101) 

101 = MM/DD/YYYY - 2008年10月2日

+0

不幸的是我在查詢中返回了一堆列,所以我不能這樣做。 jquery是否具有簡單的掩碼功能? –

+0

我同意這個解決方案很好用,但這不是OP要求的。我不明白爲什麼這個解決方案正在獲得選票。 – Pegues

0
var date = new Date('2010-10-11T00:00:00+05:30'); 
alert((date.getMonth() + 1) + '/' + date.getDate() + '/' + date.getFullYear()); 
+0

請考慮詳細闡述一下,而不是發佈簡單的代碼。這裏的目標是教育,而不是勺子餵養。 – ShahiM

+0

確定謝謝@ShahiM –

0

可以使用做到這一點下面:

var date = new Date('May, 08 2019 00:00:00 -0400'); 
var output = date.toLocaleFormat('%m/%d/%Y'); 
alert(output); 

這裏有一個的jsfiddle: https://jsfiddle.net/y4zemzqg/

另外,使用moment.js查看。 http://momentjs.com/ Moment.js使格式化日期和時間非常簡單。我已經使用了很長一段時間沒有問題:

var theDate = moment('May, 08 2019 00:00:00 -0400').format('MM/DD/YYYY'); 
alert(theDate); 

這裏是一個JS小提琴使用moment.js解決方案:https://jsfiddle.net/v923bn5s/