如何解析“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

查看:29
本文介绍了如何解析“dd/mm/yyyy"或“dd-mm-yyyy"或“dd-mmm-yyyy"使用 JavaScript 或 jQuery 格式化日期字符串的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

可能的重复:
扩展 JavaScript 的日期.解析以允许 DD/MM/YYYY(非美国格式的日期)?
将 dd-mm-yyyy 字符串转换为日期

在文本框中输入日期,例如:05/09/1985,我想将其转换为 05-Sep-1985 (dd-MMM-yyyy) 格式.我将如何实现这一目标?请注意,源格式可能是 dd-mm-yyyydd/mm/yyyydd-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屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆