-1

我有这个有效的脚本,但我需要更改日期字符串的格式以使其看起来不同。我目前得到: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

4 回答 4

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');">

此外,值得一提的是 checkout date.js。我认为这两个库是相辅相成的。

于 2012-04-11T05:37:02.233 回答
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/

于 2012-04-11T05:39:28.107 回答
0

您可以根据自己的喜好使用 的format方法Date object来格式化日期(在formatter我附上链接的情况下提供)...

例子:

var d = new Date();
d.format('m/dd/yy');

有关其他信息,请参阅此链接...

于 2012-04-11T05:42:19.390 回答
0

你可以剪掉你想要的部分-

alert(new Date().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;
}
于 2012-04-11T06:03:07.317 回答