Javascript 通过onclick更改日期字符串和DIV背景颜色
我有这个脚本可以工作,但我需要更改日期字符串的格式以使其看起来不同。我现在得到:2012年4月10日星期二22:27:13 GMT-0700(PDT) 我需要日期字符串如下所示:2012年4月10日10:28 PM 我还需要更改在单击按钮时保存日期字符串输入的DIV背景Javascript 通过onclick更改日期字符串和DIV背景颜色,javascript,onclick,Javascript,Onclick,我有这个脚本可以工作,但我需要更改日期字符串的格式以使其看起来不同。我现在得到:2012年4月10日星期二22:27:13 GMT-0700(PDT) 我需要日期字符串如下所示:2012年4月10日10:28 PM 我还需要更改在单击按钮时保存日期字符串输入的DIV背景 <form> <input name="theDate" size="50"> <input type="button" value="Insert date" onclick="this
<form>
<input name="theDate" size="50">
<input type="button" value="Insert date"
onclick="this.form.theDate.value = new Date();">
</form>
退房
用于解析的轻量级(3.7k)javascript日期库,
操作和格式化日期
使用矩.js
var today = moment(new Date());
today.format("MMMM D, YYYY h:m A"); // outputs "April 11, 2012 12:44 AM"
您甚至可以在一行中完成:)
所以对于你的输入元素
<input type="button" value="Insert date" onclick="this.form.theDate.value = moment().format('MMMM D, YYYY h:m A');">
此外,值得一提的是结帐。我认为这两个库是相辅相成的。您可以使用以下方法获得不同的“时间”-内容: 解决方案::D
var d = new Date(),
y = d.getFullYear(),
mo = d.getMonth(),
da = d.getDate(),
h = d.getHours(),
m = d.getMinutes();
var time = m + " " + da + ", " + y + " " + h + ":" + m + ((h<12)?"AM":"PM");
var d=new Date(),
y=d.getFullYear(),
mo=d.getMonth(),
da=d.getDate(),
h=d.getHours(),
m=d.getMinutes();
var time=m+“”+da+”,“+y+“”+h+”:“+m+((h您可以使用Date对象的format
方法来根据您的喜好格式化日期(在格式化程序中提供,我已为其附加了链接)
示例:
var d = new Date();
d.format('m/dd/yy');
有关更多信息,请参见…您可以删除所需的零件-
警报(新日期().dayString('y','T');
返回值:(字符串)2012年4月11日凌晨1:58
String.prototype.padZero=函数(len,c){
var s=“”,c=c | |“0”,len=(len | | 2)-this.length;
而(s.lengthDate.parse('6/2/2009');
})();
Date.monthnames=[“一月”、“二月”、“三月”、“四月”、“五月”,
“六月”、“七月”、“八月”、“九月”、“十月”、“十一月”、“十二月”];
Date.prototype.dayString=函数(wch,wch2){
var D=这,A,天,M,W;
wch=wch?wch.toLowerCase():'y';
M=日期、月份和时间;
W=日期。日期名称;
变量A=[W[D.getDay()],“”,M[D.getMonth()],“”,
D.getDate(),',',D.getFullYear();
if(wch.indexOf('s')!=-1){
A[0]=A[0]。子串(0,3);
A[2]=A[2]。子串(0,3);
}
如果(Date.ddmm | |/b/i.test(wch)){
A.拼接(2,3,A[4],A[3],A[2]);
}
如果(wch.indexOf('y')=-1)A.length=5;
if(wch.indexOf('d')=-1)A.拼接(0,2);
日=A.加入(“”);
如果(wch2)天+=''+D.时间串(wch2);
回归日;
}
Date.prototype.timeString=函数(秒){
var D=这,A;
秒=秒| |'';
var h=D.getHours();
var w=h12)h-=12;
如果(h==0)h=12,则为else;
A=[h,String(D.getMinutes()).padZero(2)];
如果(/s/i.test(sec))A[2]=String(D.getSeconds()).padZero(2);
如果(/ms/i.test(sec))A[3]=String(D.getmillizes()).padZero(3);
返回A.join(“:”)+w;
}
已经有很多类似的问题被问到了,例如我可以把它添加到onclick=“this.form.theDate.value=new Date();”当然可以!你只需要包括javascript库。我添加了矩.js/这对吗?onclick=“this.form.theDate.value=矩().format”(“MMMM D,YYYY h:ma”)”;是的,看起来不错。但是,双引号中有双引号…将其更改为:onclick=“this.form.theDate.value=矩().format('MMMM D,YYYY h:ma');“
onclick=“this.form.theDate.value=矩().format('MMMM D,YYYY h:ma')天啊……做得很好,但你为什么不使用现有的库呢?我该如何称呼这个onclick?@Hristo-我在1998年写的,当时还没有很多javascript库。@kennebec…天哪,哈哈哈…太棒了!我在1998年读三年级:无论如何,请查看一下moment.js!它真的很整洁:)
var d = new Date(),
y = d.getFullYear(),
mo = d.getMonth(),
da = d.getDate(),
h = d.getHours(),
m = d.getMinutes();
var time = m + " " + da + ", " + y + " " + h + ":" + m + ((h<12)?"AM":"PM");
var d = new Date();
d.format('m/dd/yy');
String.prototype.padZero= function(len, c){
var s= "", c= c || "0", len= (len || 2)- this.length;
while(s.length<len) s += c;
return s + this;
}
Date.daynames= ['Sunday', 'Monday', 'Tuesday',
'Wednesday','Thursday', 'Friday', 'Saturday'];
Date.ddmm= (function(){
return Date.parse('2/6/2009')>Date.parse('6/2/2009');
})();
Date.monthnames= ['January', 'February', 'March', 'April', 'May',
'June', 'July', 'August', 'September', 'October', 'November', 'December'];
Date.prototype.dayString= function(wch, wch2){
var D= this, A, day, M, W;
wch= wch? wch.toLowerCase():'y';
M= Date.monthnames;
W= Date.daynames;
var A= [W[D.getDay()], ' ', M[D.getMonth()], ' ',
D.getDate(), ', ', D.getFullYear()];
if(wch.indexOf('s')!= -1){
A[0]= A[0].substring(0, 3);
A[2]= A[2].substring(0, 3);
}
if(Date.ddmm || /b/i.test(wch)){
A.splice(2, 3, A[4], A[3], A[2]);
}
if(wch.indexOf('y')== -1) A.length= 5;
if(wch.indexOf('d')== -1) A.splice(0, 2);
day= A.join('');
if(wch2) day+= ' '+D.timeString(wch2);
return day;
}
Date.prototype.timeString= function(sec){
var D= this, A;
sec= sec || '';
var h= D.getHours();
var w= h<12? ' am':' pm';
if(sec===sec.toUpperCase())w=w.toUpperCase();
if(h>12) h-= 12;
else if(h== 0) h= 12;
A= [h, String(D.getMinutes()).padZero(2)];
if(/s/i.test(sec)) A[2]= String(D.getSeconds()).padZero(2);
if(/ms/i.test(sec)) A[3]= String(D.getMilliseconds()).padZero(3);
return A.join(':')+w;
}