DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> 關於JavaScript >> js格式化時間小結
js格式化時間小結
編輯:關於JavaScript     

廢話不多說,先把各種格式化方法貼給大家

代碼如下:
var myDate = new Date();

myDate.getYear(); //獲取當前年份(2位)

myDate.getFullYear(); //獲取完整的年份(4位,1970-????)

myDate.getMonth(); //獲取當前月份(0-11,0代表1月)

myDate.getDate(); //獲取當前日(1-31)

myDate.getDay(); //獲取當前星期X(0-6,0代表星期天)

myDate.getTime(); //獲取當前時間(從1970.1.1開始的毫秒數)

myDate.getHours(); //獲取當前小時數(0-23)

myDate.getMinutes(); //獲取當前分鐘數(0-59)

myDate.getSeconds(); //獲取當前秒數(0-59)

myDate.getMilliseconds(); //獲取當前毫秒數(0-999)

myDate.toLocaleDateString(); //獲取當前日期

var mytime=myDate.toLocaleTimeString(); //獲取當前時間

myDate.toLocaleString( ); //獲取日期與時間

可以說是Web項目中不可或缺的一個Javascript類庫,它可以幫助你快速的解決客戶端編程的許多問題,下面貼出一個用js格式化時間的方法。

代碼如下:
Date.prototype.format =function(format)
    {
        var o = {
        "M+" : this.getMonth()+1, //month
"d+" : this.getDate(),    //day
"h+" : this.getHours(),   //hour
"m+" : this.getMinutes(), //minute
"s+" : this.getSeconds(), //second
"q+" : Math.floor((this.getMonth()+3)/3),  //quarter
"S" : this.getMilliseconds() //millisecond
        }
        if(/(y+)/.test(format)) format=format.replace(RegExp.$1,
        (this.getFullYear()+"").substr(4- RegExp.$1.length));
        for(var k in o)if(new RegExp("("+ k +")").test(format))
        format = format.replace(RegExp.$1,
        RegExp.$1.length==1? o[k] :
        ("00"+ o[k]).substr((""+ o[k]).length));
        return format;
    }

以上代碼必須先聲明,然後在使用。使用方法:

var d =new Date().format('yyyy-MM-dd');
另一種方法:

在Javascript之中,日期對象是Date,那麼如何將一個日期對象按照定制的格式進行輸出呢?
  可以現告訴你,Date對象有有四個內置方法,用於輸出為字符串格式,分別為:
  1)toGMTString,將一個日期按照GMT格式顯示
  2)toLocaleString,將一個日期按照本地操作系統格式顯示
  3)toLocaleDateString,按照本地格式顯示一個日期對象的日期部分
  4)toLocaleTimeString,按照本地格式顯示一個日期對象的時間部分
  盡管Javascript的Date對象中內置提供了這些輸出為字符串的方法,但是這些字符串不是我們來控制格式的,因此如果我們需要我們自己定制的特殊格式,那麼又該怎麼辦呢?
  不用著急,JsJava中提供了專用的類,專門對日期進行指定格式的字符串輸出,你可以下載JsJava-2.0.zip,引入其中的src/jsjava/text/DateFormat.js,或者直接引入jslib/jsjava-2.0.js,樣例代碼如下:

代碼如下:
var df=new SimpleDateFormat();//jsJava1.0需要使用DateFormat對象,不要弄錯就是了
df.applyPattern("yyyy-MM-dd HH:mm:ss");
var date=new Date(2007,3,30,10,59,51);
var str=df.format(date);
document.write(str);//顯示結果為:2007-04-30 10:59:51

通過上面的例子你可以看出,你需要做的就是指定pattern,那麼pattern中yyyy、MM等都表示什麼意思呢?如果你學習過Java的日期格式化,那麼你應該知道,那都是占位符,這些占位符都具有特殊的函數,例如y表示年,yyyy表示四個數字的年份,例如1982,下面列舉一些pattern中支持的特殊字符及其含義(下面表格引自Java的官方文檔,做了適當修改):

代碼如下:
G Era designator [url=]Text[/url] AD
y Year [url=]Year[/url] 1996; 96
M Month in year [url=]Month[/url] July; Jul; 07
w Week in year [url=]Number[/url] 27
W Week in month [url=]Number[/url] 2
D Day in year [url=]Number[/url] 189
d Day in month [url=]Number[/url] 10
F Day of week in month [url=]Number[/url] 2
E Day in week [url=]Text[/url] Tuesday; Tue
a Am/pm marker [url=]Text[/url] PM
H Hour in day (0-23) [url=]Number[/url] 0
k Hour in day (1-24) [url=]Number[/url] 24
K Hour in am/pm (0-11) [url=]Number[/url] 0
h Hour in am/pm (1-12) [url=]Number[/url] 12
m Minute in hour [url=]Number[/url] 30
s Second in minute [url=]Number[/url] 55
S Millisecond [url=]Number[/url] 978

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved