-1

このスクリプトは機能しますが、日付文字列の形式を変更して見た目を変える必要があります。私は現在取得しています:2012年4月10日火曜日22:27:13 GMT-0700(PDT)

次のような日付文字列が必要です: 2012年4月10日22: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"

1行で実行することもできます:)

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に言及する価値があります。2 つのライブラリは相互に補完し合っていると思います。

于 2012-04-11T05:37:02.233 に答える
0

あなたはあなたが望む部分を取り除くことができます-

alert(new Date()。dayString('y'、'T'));

戻り値:(文字列)2012年4月11日1:58 AM

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 に答える
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 に答える