用JavaScript(js)對時間格式化
可以說是Web項目中不可或缺的一個Javascript類庫,它可以幫助你快速的解決客戶端編程的許多問題,下面貼出一個用js格式化時間的方法。
{
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;
}
以上代碼必須先聲明,然后在使用。使用方法:
另一種方法:
在Javascript之中,日期對象是Date,那么如何將一個日期對象按照定制的格式進(jìn)行輸出呢??
? 可以現(xiàn)告訴你,Date對象有有四個內(nèi)置方法,用于輸出為字符串格式,分別為:?
? 1)toGMTString,將一個日期按照GMT格式顯示?
? 2)toLocaleString,將一個日期按照本地操作系統(tǒng)格式顯示?
? 3)toLocaleDateString,按照本地格式顯示一個日期對象的日期部分?
? 4)toLocaleTimeString,按照本地格式顯示一個日期對象的時間部分?
? 盡管Javascript的Date對象中內(nèi)置提供了這些輸出為字符串的方法,但是這些字符串不是我們來控制格式的,因此如果我們需要我們自己定制的特殊格式,那么又該怎么辦呢??
? 不用著急,JsJava中提供了專用的類,專門對日期進(jìn)行指定格式的字符串輸出,你可以下載JsJava-2.0.zip,引入其中的src/jsjava/text/DateFormat.js,或者直接引入jslib/jsjava-2.0.js,樣例代碼如下:?
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); // 顯示結(jié)果為:2007-04-30 10:59:51
通過上面的例子你可以看出,你需要做的就是指定pattern,那么pattern中yyyy、MM等都表示什么意思呢?如果你學(xué)習(xí)過Java的日期格式化,那么你應(yīng)該知道,那都是占位符,這些占位符都具有特殊的函數(shù),例如y表示年,yyyy表示四個數(shù)字的年份,例如1982,下面列舉一些pattern中支持的特殊字符及其含義(下面表格引自Java的官方文檔,做了適當(dāng)修改):
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
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
