更改日期字符串并通过onclick更改DIV背景颜色

时间:2012-04-11 05:33:13

标签: javascript onclick

我有这个可行的脚本,但我需要更改日期字符串的格式以使其看起来不同。我目前正在接受: 2012年4月10日星期二22:27:13 GMT-0700(PDT)

我需要日期字符串如下所示: 2012年4月10日下午10:28

我还需要在单击按钮时更改保存日期字符串输入的DIV背景。

<form>

<input name="theDate" size="50">

<input type="button" value="Insert date" 
  onclick="this.form.theDate.value = new Date();">

</form>

4 个答案:

答案 0 :(得分:1)

查看moment.js

  

用于解析的轻量级(3.7k)javascript日期库,   操纵和格式化日期。

使用moment.js ...

var today = moment(new Date());
today.format("MMMM D, YYYY h:m A"); // outputs "April 11, 2012 12:44 AM"

你甚至可以在一行中完成:)

moment().format("MMMM D, YYYY h:m A"); // outputs "April 11, 2012 12:49 AM"

所以对于你的输入元素......

<input type="button" value="Insert date" onclick="this.form.theDate.value = moment().format('MMMM D, YYYY h:m A');">

另外,值得一提的是结帐date.js。我认为这两个库相互补充。

答案 1 :(得分:0)

您可以使用以下内容来获得不同的“时间” -

For Year: date..getFullYear();
For Month: date.getMonth();
For Date: date.getDate();
For Hour: date.getHours();
For Minute: date.getMinutes();
     .
     .
     .
   etc. (date = new Date())

解决方案::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");

直播演示http://jsfiddle.net/DerekL/GZ7sB/

答案 2 :(得分:0)

您可以使用format的{​​{1}}方法根据自己的喜好格式化日期(在我附加链接的Date object中提供)...

示例:

formatter

有关其他信息,请参阅this link ...

答案 3 :(得分:0)

你可以删除你想要的部分 -

警告(新日期()。dayString('y','T'));

  
    

返回值:(字符串) 2012年4月11日上午1:58

  
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;
}