使用Javascript更改日期格式
如何使用JavaScript将文本框值从“08/11/2012”更改为“08-11-2012”使用Javascript更改日期格式,javascript,date,Javascript,Date,如何使用JavaScript将文本框值从“08/11/2012”更改为“08-11-2012” 页面加载后,应显示“2012年11月8日”我可以推荐这个出色的Javascript日期库吗: 我可以推荐这个出色的Javascript日期库吗: 你可以自己做 var mydate = new Date(form.startDate.value); var month = ["January", "February", "March", "April", "May", "June", "July",
页面加载后,应显示“2012年11月8日”我可以推荐这个出色的Javascript日期库吗:
我可以推荐这个出色的Javascript日期库吗:
你可以自己做
var mydate = new Date(form.startDate.value);
var month = ["January", "February", "March", "April", "May", "June",
"July", "August", "September", "October", "November", "December"][mydate.getMonth()];
var str = mydate.getdate() + '-' + month + '-' + mydate.getFullYear();
请参阅,您可能必须在页面加载时将textbox.text值更改为str。您可以自己执行此操作
var mydate = new Date(form.startDate.value);
var month = ["January", "February", "March", "April", "May", "June",
"July", "August", "September", "October", "November", "December"][mydate.getMonth()];
var str = mydate.getdate() + '-' + month + '-' + mydate.getFullYear();
参考您可能必须在页面加载时将textbox.text值更改为str。我也喜欢,因为它使许多日期操作变得简单易读。这是你的答案
var d = moment('08/11/2012', "DD/MM/YYYY").format('DD-MMM-YYYY').toUpperCase();
只需在您的页面中包含以下内容:
在加载代码之前
我可能还建议对HTML5 PEEP(漂亮的日期选择器)使用
,我也喜欢。,因为它使许多日期操作变得简单易读。这是你的答案
var d = moment('08/11/2012', "DD/MM/YYYY").format('DD-MMM-YYYY').toUpperCase();
只需在您的页面中包含以下内容:
在加载代码之前
我还建议对HTML5 PEEP(漂亮的日期选择器)使用
,并使用。以下是我用于日期格式化的代码
/*jslint sub: true, todo: true, browser: true, devel: true, indent: 4, maxerr: 50, maxlen: 120 */
/*global */
/*
About: Author
George Weilenmann <email at abyssoft@gmail.com>
About: Purpose
Adds a formatting function to the prototypal level of the Native Date object. And while it is certain that the code
could be written more concisely it ends up loosing a lot of its readability. When minified is ~1 KB in size.
About: Prerequisite
Script Requires:
Native browser support for the Date Object and access tot he prototype of the Date object
JSLint Flags:
2012-08-11 edition
sub - true
todo - true
browser - true
devel - true
Version history:
1.2.0 - further code cleanup and renaming of variables to improve readability, changed formatString elements to be
to terminate in ;
1.1.0 - code clean up and documentation added
1.0.0 - Created prior to best practices
Licensing: +Use, +Examination, +Reverse Engineering, -Simple Distribution, +Distribution with full credit and link
*/
/*
Method: format (formatString {String})
Formats a {Date} to desired form.
Parameter: formatString {String}
Contains the desired format of the {Date}. In formatting process only recognized formatting elements are replaced
any other characters are taken at face value and returned unaltered.
Recognized Formats:
YYYY - 4 digit year
YY - 2 digit year
MMMM - Month Name
MMM - Month Abbreviation
MM - 2 digit month
M - auto digit month
DDDD - Day Name
DDD - Day Abbreviation
DD - 2 digit day
D - auto digit day
th - Ordinal suffix
hhh - 24 hour number [0-23]
hh - 2 digit hour from 12 hour clock
h - auto digit hour
mm - 2 digit minute
m - auto digit minute
ss - 2 digit second
s - auto digit second
sss - milliseconds
ampm - am/pm
AMPM - AM/PM
Returns: {String}
The processed date in string form. If formatString is undefined or null a blank string is returned.
*/
Date.prototype.format = function (formatString) {
"use strict";
var
MonthNames = [
"January",
"February",
"March",
"April",
"May",
"June",
"July",
"August",
"September",
"October",
"November",
"December"
],
DayNames = [
"Sunday",
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday"
],
milliseconds = this.getMilliseconds(),
seconds = this.getSeconds(),
twoDigitSeconds = (seconds < 10 ? ('0' + seconds) : String(seconds)),
minutes = this.getMinutes(),
twoDigitMinutes = (minutes < 10 ? ('0' + minutes) : String(minutes)),
twentyfourHours = this.getHours(),
hours = (
(
twentyfourHours === 0 ?
24 :
twentyfourHours
) > 12 ? (twentyfourHours === 0 ? 24 : twentyfourHours) - 12 : twentyfourHours
),
twoDigitHours = (hours < 10 ? ('0' + hours) : String(hours)),
meridiem = (twentyfourHours < 12 ? 'am' : 'pm'),
fullYear = this.getFullYear(),
shortYear = String((fullYear)).substr(2, 2),
monthNumber = this.getMonth() + 1,
twoDigitMonth = (monthNumber < 10 ? ('0' + monthNumber) : monthNumber),
MonthName = MonthNames[monthNumber - 1],
MonthAbbreviation = MonthName.substr(0, 3),
dayNumber = String(this.getDate()),
twoDigitDay = (dayNumber < 10 ? ('0' + dayNumber) : String(dayNumber)),
dayName = DayNames[this.getDay()],
dayAbbreviation = dayName.substr(0, 3),
ordinal = (
/[023]1/.test(twoDigitDay) ?
"st" :
(
/[02]2/.test(twoDigitDay) ?
"nd" :
(
/[02]3/.test(twoDigitDay) ?
"rd" :
"th"
)
)
),
stringToFormat = String(formatString||"");
return (
stringToFormat
.replace("YYYY;", fullYear)
.replace("YY;", shortYear)
.replace("MMMM;", MonthName)
.replace("MMM;", MonthAbbreviation)
.replace("MM;", twoDigitMonth)
.replace("M;", monthNumber)
.replace("DDDD;", dayName)
.replace("DDD;", dayAbbreviation)
.replace("DD;", twoDigitDay)
.replace("D;", dayNumber)
.replace("th;", ordinal)
.replace("hhh;", twentyfourHours)
.replace("hh;", twoDigitHours)
.replace("h;", hours)
.replace("mm;", twoDigitMinutes)
.replace("m;", minutes)
.replace("sss;", milliseconds)
.replace("ss;", twoDigitSeconds)
.replace("s;", seconds)
.replace("ampm;", meridiem)
.replace("AMPM;", meridiem.toUpperCase())
);
};
/*jslint sub:true、todo:true、browser:true、devel:true、indent:4、maxerr:50、maxlen:120*/
/*全球的*/
/*
关于:作者
乔治·韦尔曼
关于:目的
将格式化函数添加到本机日期对象的原型级别。虽然可以确定代码
如果写得更简洁,它最终会失去很多可读性。缩小后的大小约为1 KB。
关于:先决条件
脚本要求:
对日期对象的本机浏览器支持和对日期对象原型的访问
JSLint标志:
2012-08-11版
次真实
待办事项-正确
浏览器-正确
德维尔-真
版本历史记录:
1.2.0-进一步清理代码和重命名变量以提高可读性,将formatString元素更改为
终止于;
1.1.0-添加代码清理和文档
1.0.0-在最佳实践之前创建
许可:+使用,+检查,+逆向工程,-简单分发,+完全信任和链接的分发
*/
/*
方法:格式化(formatString{String})
将{Date}格式化为所需格式。
参数:formatString{String}
包含所需的{Date}格式。在格式化过程中,仅替换识别的格式化元素
任何其他字符均按面值提取,并原封不动地返回。
公认的格式:
YYYY-4位数年份
YY-2位数年份
月名
月缩写
MM-2位月
M-自动数字月
日名
日缩写
DD-两位数日
自动数字日
th-序数后缀
hhh-24小时号码[0-23]
hh-从12小时时钟开始的2位数小时
h-自动数字小时
毫米-2位分钟
m-自动数字分钟
ss-2位秒
自动数字秒
sss-毫秒
上午/下午
上午/下午
返回:{String}
字符串形式的已处理日期。如果formatString未定义或为空,则返回空白字符串。
*/
Date.prototype.format=函数(formatString){
“严格使用”;
变量
月份=[
“一月”,
“二月”,
“三月”,
“四月”,
“五月”,
“六月”,
“七月”,
“八月”,
“9月”,
“十月”,
“11月”,
“12月”
],
日名=[
“星期日”,
“星期一”,
“星期二”,
“星期三”,
“星期四”,
“星期五”,
“星期六”
],
毫秒=this.getmillizes(),
seconds=this.getSeconds(),
twoDigitSeconds=(秒<10?('0'+秒):字符串(秒)),
分钟数=this.getMinutes(),
twoDigitMinutes=(分钟<10?('0'+分钟):字符串(分钟)),
twentyfourHours=this.getHours(),
小时=(
(
二十四小时===0?
24 :
二十四小时
)>12?(二十四小时===0?24:二十四小时)-12:二十四小时
),
twoDigitHours=(小时<10?('0'+小时):字符串(小时)),
梅里迪姆=(二十四小时<12点?'am':'pm'),
fullYear=this.getFullYear(),
shortYear=String((fullYear)).substr(2,2),
monthNumber=this.getMonth()+1,
twoDigitMonth=(月数<10?('0'+月数):月数),
MonthName=MonthNames[monthNumber-1],
MonthAbreviation=MonthName.substr(0,3),
dayNumber=字符串(this.getDate()),
twoDigitDay=(dayNumber<10?('0'+dayNumber):字符串(dayNumber)),
dayName=DayNames[this.getDay()],
day缩写=dayName.substr(0,3),
序数=(
/[023]1/.test(两位数天)?
“st”:
(
/[02]2/.测试(两位数天)?
“nd”:
(
/[02]3/.测试(两位数天)?
“rd”:
“th”
)
)
),
stringToFormat=字符串(formatString | | |“”);
返回(
stringToFormat
.替换(“YYYY;”,全年)
.替换(“YY;”,短年)
.替换(“MMMM;”,MonthName)
.替换(“嗯;”,蒙塔布雷维亚州)
.替换(“MM;”,两位数月)
.替换(“M;”,月号)
.替换(“DDDD;”,dayName)
.替换(“DDD;”,day缩写)
.替换(“DD;”,两位数日)
.替换(“D;”,天数)
.替换(“th;”,序号)
.替换(“hh;”,二十四小时)
.替换(“hh;”,两位数小时)
.替换(“h;”,小时)
.替换(“mm;”,两位数分钟)
.替换(“m;”,mi