如何解析“dd/mm/yyyy"或“dd-mm-yyyy"或“dd-mmm-yyyy"使用 JavaScript 或 jQuery 格式化日期字符串 [英] how to parse a "dd/mm/yyyy" or "dd-mm-yyyy" or "dd-mmm-yyyy" formatted date string using JavaScript or jQuery
问题描述
可能的重复:
扩展 JavaScript 的日期.解析以允许 DD/MM/YYYY(非美国格式的日期)?
将 dd-mm-yyyy 字符串转换为日期
在文本框中输入日期,例如:05/09/1985,我想将其转换为 05-Sep-1985 (dd-MMM-yyyy) 格式.我将如何实现这一目标?请注意,源格式可能是 dd-mm-yyyy
或 dd/mm/yyyy
或 dd-mmm-yyyy
格式.
Entered a date in textbox, for example: 05/09/1985, and I wanted to convert it to 05-Sep-1985 (dd-MMM-yyyy) format. How would I achieve this? Note that the source format may be dd-mm-yyyy
or dd/mm/yyyy
or dd-mmm-yyyy
format.
代码片段:
function GetDateFormat(controlName) {
if ($('#' + controlName).val() != "") {
var d1 = Date.parse($('#' + controlName).val());
if (d1 == null) {
alert('Date Invalid.');
$('#' + controlName).val("");
}
var array = d1.toString('dd-MMM-yyyy');
$('#' + controlName).val(array);
}
}
此代码返回 09-May-1985 但我想要 05-Sep-1985.谢谢.
This code returns 09-May-1985 but I want 05-Sep-1985. Thanks.
推荐答案
你可能想使用像 http://momentjs.com/ 包装原生 javascript 日期对象以便于操作
You might want to use helper library like http://momentjs.com/ which wraps the native javascript date object for easier manipulations
然后您可以执行以下操作:
Then you can do things like:
var day = moment("12-25-1995", "MM-DD-YYYY");
或
var day = moment("25/12/1995", "DD/MM/YYYY");
然后对日期进行操作
day.add('days', 7)
并获取原生 javascript 日期
and to get the native javascript date
day.toDate();
这篇关于如何解析“dd/mm/yyyy"或“dd-mm-yyyy"或“dd-mmm-yyyy"使用 JavaScript 或 jQuery 格式化日期字符串的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!