如何格式化JavaScript日期

如何格式化JavaScript日期对象以打印为
10-Aug-2010
?     
已邀请:
  注意:下面有更好的答案。这个答案写于2010年,从那时起就有了更新更好的解决方案。 OP应接受另一个答案。
function formatDate(date) {
  var monthNames = [
    "January", "February", "March",
    "April", "May", "June", "July",
    "August", "September", "October",
    "November", "December"
  ];

  var day = date.getDate();
  var monthIndex = date.getMonth();
  var year = date.getFullYear();

  return day + ' ' + monthNames[monthIndex] + ' ' + year;
}

console.log(formatDate(new Date()));  // show current date-time in console
使用
toLocaleDateString();
toLocaleDateString()
方法返回一个字符串,其中包含日期日期部分的语言敏感表示。 locales和options参数允许应用程序指定应使用其格式约定的语言,并允许自定义函数的行为。 您可以在不同键的选项中传递的值: 天: 当天的代表。 可能的值为“数字”,“2位”。 工作日: 工作日的代表。 可能的值是“窄”,“短”,“长”。 年: 年度代表。 可能的值为“数字”,“2位”。 月: 本月的代表。 可能的值是“数字”,“2位”,“窄”,“短”,“长”。 小时: 小时的表示。 可能的值为“数字”,“2位”。 分钟: 分钟的表示。  可能的值为“数字”,“2位”。 第二: 第二个的表示。 可能的值为“数字”,2位数字“。 所有这些键都是可选的。您可以根据需要更改选项值的数量,这也将反映每个日期时间项的存在。 注意:如果您只想配置内容选项,但仍使用当前区域设置,则为第一个参数传递
null
将导致错误。请改用
undefined
。 对于不同的语言: “en-US”:英语 “hi-IN”:对于印地语 “ja-JP”:对于日本人 您可以使用更多语言选项。 例如
var options = { weekday: 'long', year: 'numeric', month: 'long', day: 'numeric' };
var today  = new Date();

console.log(today.toLocaleDateString("en-US")); // 9/17/2016
console.log(today.toLocaleDateString("en-US", options)); // Saturday, September 17, 2016
console.log(today.toLocaleDateString("hi-IN", options)); // शनिवार, 17 सितंबर 2016
使用date.format库:
var dateFormat = require('dateformat');
var now = new Date();
dateFormat(now, "dddd, mmmm dS, yyyy, h:MM:ss TT");
收益:
Saturday, June 9th, 2007, 5:46:21 PM 
在npm上的dateformat http://jsfiddle.net/phZr7/1/     
如果您需要使用纯JavaScript快速格式化日期,请使用
getDate
getMonth + 1
getFullYear
getHours
getMinutes
var d = new Date();

var datestring = d.getDate()  + "-" + (d.getMonth()+1) + "-" + d.getFullYear() + " " +
d.getHours() + ":" + d.getMinutes();

// 16-5-2015 9:50
或者,如果您需要用零填充:
var datestring = ("0" + d.getDate()).slice(-2) + "-" + ("0"+(d.getMonth()+1)).slice(-2) + "-" +
    d.getFullYear() + " " + ("0" + d.getHours()).slice(-2) + ":" + ("0" + d.getMinutes()).slice(-2);

// 16-05-2015 09:50
    
好吧,我想要的是将今天的日期转换为MySQL友好的日期字符串,如2012-06-23,并在我的一个查询中使用该字符串作为参数。我发现的简单解决方案是这样的:
var today = new Date().toISOString().slice(0, 10);
请注意,上述解决方案未考虑您的时区偏移。 您可以考虑使用此功能:
function toJSONLocal (date) {
    var local = new Date(date);
    local.setMinutes(date.getMinutes() - date.getTimezoneOffset());
    return local.toJSON().slice(0, 10);
}
如果您在当天的开始/结束时执行此代码,这将为您提供正确的日期。 示例:http://jsfiddle.net/simo/sapuhzmm/ Date.toISOString Date.toJSON String.slice     
如果您已经在项目中使用jQuery UI,则可以这样做:
var formatted = $.datepicker.formatDate("M d, yy", new Date("2014-07-08T09:02:21.377"));

// formatted will be 'Jul 8, 2014'
此处提供了一些可供使用的日期选择器日期格式选项。     
自定义格式功能: 对于固定格式,一个简单的功能可以完成工作。以下示例生成国际格式YYYY-MM-DD:
function dateToYMD(date) {
    var d = date.getDate();
    var m = date.getMonth() + 1; //Month from 0 to 11
    var y = date.getFullYear();
    return '' + y + '-' + (m<=9 ? '0' + m : m) + '-' + (d <= 9 ? '0' + d : d);
}

console.log(dateToYMD(new Date(2017,10,5))); // Nov 5
我想你可以使用非标准的Date方法
toLocaleFormat(formatString)
formatString:C中
strftime()
函数所期望的格式字符串格式。
var today = new Date();
today.toLocaleFormat('%d-%b-%Y'); // 30-Dec-2011
参考文献: tolocaleformat 的strftime     
简单的JavaScript是小型onetimers的最佳选择。 另一方面,如果您需要更多日期,MomentJS是一个很好的解决方案。 例如:
moment().format('YYYY-MM-DD HH:m:s');     // now() -> 2015-03-24 14:32:20
moment("20111031", "YYYYMMDD").fromNow(); // 3 years ago
moment("20120620", "YYYYMMDD").fromNow(); // 3 years ago
moment().startOf('day').fromNow();        // 11 hours ago
moment().endOf('day').fromNow();          // in 13 hours
    
在现代浏览器(*)中,您可以这样做:
var today = new Date().toLocaleDateString('en-GB', {
    day : 'numeric',
    month : 'short',
    year : 'numeric'
}).split(' ').join('-');
如果今天执行输出(2016年1月24日):
'24-Jan-2016'
(*)据MDN称,“现代浏览器”指的是Chrome&nbsp; 24 +,Firefox 29 +,Internet&nbsp; Explorer&nbsp; 11,Edge&nbsp; 12+,Opera&nbsp; 15+&amp; Safari每晚构建。     
你应该看看date.js.它添加了许多方便的帮助程序来处理日期,例如,在您的情况下:
var date = Date.parse('2010-08-10');
console.log(date.toString('dd-MMM-yyyy'));
入门:http://www.datejs.com/2007/11/27/getting-started-with-datejs/     
我可以在一行中使用没有库和没有Date方法获得您请求的格式,只是正则表达式:
var d = (new Date()).toString().replace(/S+s(S+)s(d+)s(d+)s.*/,'$2-$1-$3');
// date will be formatted as "14-Oct-2015" (pass any date object in place of 'new Date()')
更新:正如@RobG所指出的,Date.prototype.toString()的输出是依赖于实现的。因此,如果您使用此解决方案,请谨慎使用并在必要时进行修改。在我的测试中,这在北美可靠地运行,主要浏览器(Chrome,Safari,Firefox和IE)都返回相同的字符串格式。     
@Sébastien - 替代所有浏览器支持
new Date(parseInt(496407600)*1000).toLocaleDateString('de-DE', {
year: 'numeric',
month: '2-digit',
day: '2-digit'
}).replace(/./g, '/');
文档:  https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleDateString     
使用ECMAScript Edition 6(ES6 / ES2015)字符串模板:
let d = new Date();
let formatted = `${d.getFullYear()}-${d.getMonth() + 1}-${d.getDate()}`;
如果您需要更改分隔符:
const delimiter = '/';
let formatted = [d.getFullYear(), d.getMonth() + 1, d.getDate()].join(delimiter);
    
这是我刚刚编写的一些代码,用于处理我正在处理的项目的日期格式。它模仿PHP日期格式化功能以满足我的需求。随意使用它,它只是扩展已存在的Date()对象。这可能不是最优雅的解决方案,但它可以满足我的需求。
var d = new Date(); 
d_string = d.format("m/d/Y h:i:s");

/**************************************
 * Date class extension
 * 
 */
    // Provide month names
    Date.prototype.getMonthName = function(){
        var month_names = [
                            'January',
                            'February',
                            'March',
                            'April',
                            'May',
                            'June',
                            'July',
                            'August',
                            'September',
                            'October',
                            'November',
                            'December'
                        ];

        return month_names[this.getMonth()];
    }

    // Provide month abbreviation
    Date.prototype.getMonthAbbr = function(){
        var month_abbrs = [
                            'Jan',
                            'Feb',
                            'Mar',
                            'Apr',
                            'May',
                            'Jun',
                            'Jul',
                            'Aug',
                            'Sep',
                            'Oct',
                            'Nov',
                            'Dec'
                        ];

        return month_abbrs[this.getMonth()];
    }

    // Provide full day of week name
    Date.prototype.getDayFull = function(){
        var days_full = [
                            'Sunday',
                            'Monday',
                            'Tuesday',
                            'Wednesday',
                            'Thursday',
                            'Friday',
                            'Saturday'
                        ];
        return days_full[this.getDay()];
    };

    // Provide full day of week name
    Date.prototype.getDayAbbr = function(){
        var days_abbr = [
                            'Sun',
                            'Mon',
                            'Tue',
                            'Wed',
                            'Thur',
                            'Fri',
                            'Sat'
                        ];
        return days_abbr[this.getDay()];
    };

    // Provide the day of year 1-365
    Date.prototype.getDayOfYear = function() {
        var onejan = new Date(this.getFullYear(),0,1);
        return Math.ceil((this - onejan) / 86400000);
    };

    // Provide the day suffix (st,nd,rd,th)
    Date.prototype.getDaySuffix = function() {
        var d = this.getDate();
        var sfx = ["th","st","nd","rd"];
        var val = d%100;

        return (sfx[(val-20)%10] || sfx[val] || sfx[0]);
    };

    // Provide Week of Year
    Date.prototype.getWeekOfYear = function() {
        var onejan = new Date(this.getFullYear(),0,1);
        return Math.ceil((((this - onejan) / 86400000) + onejan.getDay()+1)/7);
    } 

    // Provide if it is a leap year or not
    Date.prototype.isLeapYear = function(){
        var yr = this.getFullYear();

        if ((parseInt(yr)%4) == 0){
            if (parseInt(yr)%100 == 0){
                if (parseInt(yr)%400 != 0){
                    return false;
                }
                if (parseInt(yr)%400 == 0){
                    return true;
                }
            }
            if (parseInt(yr)%100 != 0){
                return true;
            }
        }
        if ((parseInt(yr)%4) != 0){
            return false;
        } 
    };

    // Provide Number of Days in a given month
    Date.prototype.getMonthDayCount = function() {
        var month_day_counts = [
                                    31,
                                    this.isLeapYear() ? 29 : 28,
                                    31,
                                    30,
                                    31,
                                    30,
                                    31,
                                    31,
                                    30,
                                    31,
                                    30,
                                    31
                                ];

        return month_day_counts[this.getMonth()];
    } 

    // format provided date into this.format format
    Date.prototype.format = function(dateFormat){
        // break apart format string into array of characters
        dateFormat = dateFormat.split("");

        var date = this.getDate(),
            month = this.getMonth(),
            hours = this.getHours(),
            minutes = this.getMinutes(),
            seconds = this.getSeconds();
        // get all date properties ( based on PHP date object functionality )
        var date_props = {
            d: date < 10 ? '0'+date : date,
            D: this.getDayAbbr(),
            j: this.getDate(),
            l: this.getDayFull(),
            S: this.getDaySuffix(),
            w: this.getDay(),
            z: this.getDayOfYear(),
            W: this.getWeekOfYear(),
            F: this.getMonthName(),
            m: month < 10 ? '0'+(month+1) : month+1,
            M: this.getMonthAbbr(),
            n: month+1,
            t: this.getMonthDayCount(),
            L: this.isLeapYear() ? '1' : '0',
            Y: this.getFullYear(),
            y: this.getFullYear()+''.substring(2,4),
            a: hours > 12 ? 'pm' : 'am',
            A: hours > 12 ? 'PM' : 'AM',
            g: hours % 12 > 0 ? hours % 12 : 12,
            G: hours > 0 ? hours : "12",
            h: hours % 12 > 0 ? hours % 12 : 12,
            H: hours,
            i: minutes < 10 ? '0' + minutes : minutes,
            s: seconds < 10 ? '0' + seconds : seconds           
        };

        // loop through format array of characters and add matching data else add the format character (:,/, etc.)
        var date_string = "";
        for(var i=0;i<dateFormat.length;i++){
            var f = dateFormat[i];
            if(f.match(/[a-zA-Z]/g)){
                date_string += date_props[f] ? date_props[f] : '';
            } else {
                date_string += f;
            }
        }

        return date_string;
    };
/*
 *
 * END - Date class extension
 * 
 ************************************/
    
如果您在代码中使用jQuery UI,则会有一个名为
formatDate()
的内置函数。我这样使用它来格式化今天的日期:
var testdate = Date();
testdate = $.datepicker.formatDate( "d-M-yy",new Date(testdate));
alert(testdate);
您可以在jQuery UI文档中看到许多其他格式化日期示例。     
我们有很多解决方案,但我认为其中最好的是Moment.js。所以我个人建议使用Moment.js进行日期和时间操作。
console.log(moment().format('DD-MMM-YYYY'));
<script src="//cdnjs.cloudflare.com/ajax/libs/moment.js/2.14.1/moment.min.js"></script>
new Date().toLocaleDateString()

// "3/21/2018"
不使用任何外部库的JavaScript解决方案:
var now = new Date()
months = ['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec']
var formattedDate = now.getDate()+"-"+months[now.getMonth()]+"-"+now.getFullYear()
alert(formattedDate)
    
这就是我为我的npm插件实现的方式
var monthNames = [
  "January", "February", "March",
  "April", "May", "June", "July",
  "August", "September", "October",
  "November", "December"
];

var Days = [
  "Sunday", "Monday", "Tuesday", "Wednesday",
  "Thursday", "Friday", "Saturday"
];

var formatDate = function(dt,format){
  format = format.replace('ss', pad(dt.getSeconds(),2));
  format = format.replace('s', dt.getSeconds());
  format = format.replace('dd', pad(dt.getDate(),2));
  format = format.replace('d', dt.getDate());
  format = format.replace('mm', pad(dt.getMinutes(),2));
  format = format.replace('m', dt.getMinutes());
  format = format.replace('MMMM', monthNames[dt.getMonth()]);
  format = format.replace('MMM', monthNames[dt.getMonth()].substring(0,3));
  format = format.replace('MM', pad(dt.getMonth()+1,2));
  format = format.replace(/M(?![ao])/, dt.getMonth()+1);
  format = format.replace('DD', Days[dt.getDay()]);
  format = format.replace(/D(?!e)/, Days[dt.getDay()].substring(0,3));
  format = format.replace('yyyy', dt.getFullYear());
  format = format.replace('YYYY', dt.getFullYear());
  format = format.replace('yy', (dt.getFullYear()+"").substring(2));
  format = format.replace('YY', (dt.getFullYear()+"").substring(2));
  format = format.replace('HH', pad(dt.getHours(),2));
  format = format.replace('H', dt.getHours());
  return format;
}

pad = function(n, width, z) {
  z = z || '0';
  n = n + '';
  return n.length >= width ? n : new Array(width - n.length + 1).join(z) + n;
}
    
在JavaScript中格式化DateTimes的一种有用且灵活的方法是
Intl.DateTimeFormat
var date = new Date();
var options = { year: 'numeric', month: 'short', day: '2-digit'};
var _resultDate = new Intl.DateTimeFormat('en-GB', options).format(date);
// The _resultDate is: "12 Oct 2017"
// Replace all spaces with - and then log it.
console.log(_resultDate.replace(/ /g,'-'));
结果是:
"12-Oct-2017"
可以使用options参数自定义日期和时间格式。
Intl.DateTimeFormat
对象是对象的构造函数,它支持语言敏感的日期和时间格式。 句法
new Intl.DateTimeFormat([locales[, options]])
Intl.DateTimeFormat.call(this[, locales[, options]])
参数 语言环境 可选的。带有BCP 47语言标记的字符串,或此类字符串的数组。有关locales参数的一般形式和解释,请参阅Intl页面。允许使用以下Unicode扩展密钥:
nu
Numbering system. Possible values include: "arab", "arabext", "bali", "beng", "deva", "fullwide", "gujr", "guru", "hanidec", "khmr", "knda", "laoo", "latn", "limb", "mlym", "mong", "mymr", "orya", "tamldec", "telu", "thai", "tibt".
ca
Calendar. Possible values include: "buddhist", "chinese", "coptic", "ethioaa", "ethiopic", "gregory", "hebrew", "indian", "islamic", "islamicc", "iso8601", "japanese", "persian", "roc".
选项 可选的。具有以下部分或全部属性的对象: localeMatcher 要使用的区域设置匹配算法。可能的值为
"lookup"
"best fit"
;默认值为
"best fit"
。有关此选项的信息,请参阅Intl页面。 时区 要使用的时区。实现必须识别的唯一值是
"UTC"
;默认值是运行时的默认时区。实现还可以识别IANA时区数据库的时区名称,例如
"Asia/Shanghai"
"Asia/Kolkata"
"America/New_York"
。 hour12 是否使用12小时时间(而不是24小时时间)。可能的值为
true
false
;默认值取决于语言环境。 formatMatcher 要使用的格式匹配算法。可能的值为
"basic"
"best fit"
;默认值为
"best fit"
。有关使用此属性的信息,请参阅以下段落。 以下属性描述了在格式化输出中使用的日期时间组件及其所需的表示形式。需要实现至少支持以下子集:
weekday, year, month, day, hour, minute, second
weekday, year, month, day
year, month, day
year, month
month, day
hour, minute, second
hour, minute
实现可以支持其他子集,并且将针对所有可用的子集表示组合协商请求以找到最佳匹配。两种算法可用于此协商,并由formatMatcher属性选择:完全指定的
"basic"
算法和依赖于实现的“最佳拟合”算法。 平日 工作日的代表。可能的值为
"narrow"
"short"
"long"
。 时代 时代的代表。可能的值为
"narrow"
"short"
"long"
。 年 年度代表。可能的值为
"numeric"
"2-digit"
。 月 本月的代表。可能的值为
"numeric"
"2-digit"
"narrow"
"short"
"long"
。 天 当天的代表。可能的值为
"numeric"
"2-digit"
。 小时 小时的表示。可能的值为
"numeric"
"2-digit"
。 分钟 分钟的表示。可能的值为
"numeric"
"2-digit"
。 第二 第二个的表示。可能的值为
"numeric"
"2-digit"
。 TIMEZONENAME 时区名称的表示形式。可能的值为
"short"
"long"
。 每个日期时间组件属性的默认值是未定义的,但如果未定义所有组件属性,则假定年,月和日为
"numeric"
。 在线查看 更多细节     
var today = new Date();
var formattedToday = today.toLocaleDateString() + ' ' + today.toLocaleTimeString();
    
好的,我们有一个名为Intl的东西,它对于在JavaScript中格式化日期非常有用: 您的日期如下:
var date = '10/8/2010';
然后使用新的Date()更改为Date,如下所示:
date = new Date(date);
现在,您可以使用以下语言环境列表以任何方式格式化它:
date = new Intl.DateTimeFormat('en-AU').format(date); // Australian date format: "8/10/2010" 
date = new Intl.DateTimeFormat('en-US').format(date); // USA date format: "10/8/2010" 
date = new Intl.DateTimeFormat('ar-EG').format(date);  // Arabic date format: "٨‏/١٠‏/٢٠١٠"
如果您确实需要上面提到的格式,您可以:
date = new Date(Date.UTC(2010, 7, 10, 0, 0, 0));
var options = {year: "numeric", month: "short", day: "numeric"};
date = new Intl.DateTimeFormat("en-AU", options).format(date).replace(/s/g, '-');
结果将是:
"10-Aug-2010"
有关ECMAScript Internationalization API(Intl)的更多详细信息,请访问此处。     
Sugar.js具有对Date对象的出色扩展,包括Date.format方法。 文档中的示例:
Date.create().format('{Weekday} {Month} {dd}, {yyyy}');

Date.create().format('{12hr}:{mm}{tt}')
    
嗨检查这是否有助于解决您的问题。
var d = new Date();

var options = {   
    day: 'numeric',
    month: 'long', 
    year: 'numeric'
};

console.log(d.toLocaleDateString('en-ZA', options));
任何人都在寻找一个非常简单的ES6解决方案来复制,粘贴和采用:
const dateToString = d => `${d.getFullYear()}-${('00' + (d.getMonth() + 1)).slice(-2)}-${('00' + d.getDate()).slice(-2)}` 

// how to use:
const myDate = new Date(Date.parse('04 Dec 1995 00:12:00 GMT'))
console.log(dateToString(myDate)) // 1995-12-04
打包解决方案:moment.js 如果你想使用一个解决方案来适应所有,我强烈建议使用moment.js,它也可以在许多语言环境/语言和大量其他功能中进行格式化。 安装:
npm install moment
yarn add moment
(访问其他安装方法的链接) 例:
moment("2010-08-10").format("DD-MMM-YYYY")
产量:   10 - 8 - 2010 手动解决方案 使用与Moment.js,Class DateTimeFormatter(Java)和Class SimpleDateFormat(Java)类似的格式,我实现了一个全面的解决方案
formatDate(date, patternStr)
,其中代码易于阅读和修改。您可以显示日期,时间,上午/下午等。有关更多示例,请参阅代码。 例:
formatDate(new Date(), 'EEEE, MMMM d, yyyy HH:mm:ss:S')
formatDate
在下面的代码片段中实现) 产量:   2018年10月12日星期五18:11:23:445 点击“运行代码段”即可试用该代码。 日期和时间模式
yy
= 2位数年份;
yyyy
=全年
M
=数字月;
MM
= 2位数月份;
MMM
=短月名;
MMMM
=完整的月份名称
EEEE
=工作日的完整名称;
EEE
=工作日短名称
d
=数字日;
dd
= 2位数日
h
=上午/下午;
hh
=上午/下午2位数;
H
=小时;
HH
= 2位数小时
m
=分钟;
mm
= 2位数分钟;
aaa
=上午/下午
s
=秒;
ss
= 2位数秒
S
=毫秒
var monthNames = [
  "January", "February", "March", "April", "May", "June", "July",
  "August", "September", "October", "November", "December"
];
var dayOfWeekNames = [
  "Sunday", "Monday", "Tuesday",
  "Wednesday", "Thursday", "Friday", "Saturday"
];
function formatDate(date, patternStr){
    if (!patternStr) {
        patternStr = 'M/d/yyyy';
    }
    var day = date.getDate(),
        month = date.getMonth(),
        year = date.getFullYear(),
        hour = date.getHours(),
        minute = date.getMinutes(),
        second = date.getSeconds(),
        miliseconds = date.getMilliseconds(),
        h = hour % 12,
        hh = twoDigitPad(h),
        HH = twoDigitPad(hour),
        mm = twoDigitPad(minute),
        ss = twoDigitPad(second),
        aaa = hour < 12 ? 'AM' : 'PM',
        EEEE = dayOfWeekNames[date.getDay()],
        EEE = EEEE.substr(0, 3),
        dd = twoDigitPad(day),
        M = month + 1,
        MM = twoDigitPad(M),
        MMMM = monthNames[month],
        MMM = MMMM.substr(0, 3),
        yyyy = year + "",
        yy = yyyy.substr(2, 2)
    ;
    return patternStr
      .replace('hh', hh).replace('h', h)
      .replace('HH', HH).replace('H', hour)
      .replace('mm', mm).replace('m', minute)
      .replace('ss', ss).replace('s', second)
      .replace('S', miliseconds)
      .replace('dd', dd).replace('d', day)
      .replace('MMMM', MMMM).replace('MMM', MMM).replace('MM', MM).replace('M', M)
      .replace('EEEE', EEEE).replace('EEE', EEE)
      .replace('yyyy', yyyy)
      .replace('yy', yy)
      .replace('aaa', aaa)
    ;
}
function twoDigitPad(num) {
    return num < 10 ? "0" + num : num;
}
console.log(formatDate(new Date()));
console.log(formatDate(new Date(), 'dd-MMM-yyyy')); //OP's request
console.log(formatDate(new Date(), 'EEEE, MMMM d, yyyy HH:mm:ss:S aaa'));
console.log(formatDate(new Date(), 'EEE, MMM d, yyyy HH:mm'));
console.log(formatDate(new Date(), 'yyyy-MM-dd HH:mm:ss:S'));
console.log(formatDate(new Date(), 'M/dd/yyyy h:mmaaa'));
试试这个:
function init(){
    var d = new Date();
    var day = d.getDate();
    var x = d.toDateString().substr(4, 3);
    var year = d.getFullYear();
    document.querySelector("#mydate").innerHTML = day + '-' + x + '-' + year;
}
window.onload = init;
<div id="mydate"></div>
这是一个完全符合您要求的脚本 https://github.com/UziTech/js-date-format
var d = new Date("2010-8-10");
document.write(d.format("DD-MMM-YYYY"));
    
将jQuery UI插件添加到您的页面:
function DateFormate(dateFormate, datetime) {
    return $.datepicker.formatDate(dateFormate, datetime);
};
    

要回复问题请先登录注册