Date 時(shí)間與日期

時(shí)間與日期
ECMAscript 提供了 Date 類型來解決時(shí)間與日期類型

日期格式化方法

Date類型還有一些專門用于將日期格式化為字符串的方法紧武,這些方法如下剃氧。

  1. toDateString():以特定于實(shí)現(xiàn)的格式顯示星期幾、月阻星、日和年朋鞍;
  2. toTimeString():以特定于實(shí)現(xiàn)的格式顯示時(shí)已添、分、秒和時(shí)區(qū)滥酥;
  3. toLocaleDateString():以特定于地區(qū)的格式顯示星期幾更舞、月、日和年坎吻;缆蝉、
  4. toLocaleTimeString():以特定于實(shí)現(xiàn)的格式顯示時(shí)、分瘦真、秒刊头;
  5. toUTCString():以特定于實(shí)現(xiàn)的格式完整的UTC日期。

與toLocaleSTring()和toString()方法一樣诸尽,以上這些字符串格式方法的輸出也是因?yàn)g覽器而異的原杂,因此沒有哪一個(gè)方法能夠用來在用戶頁面中顯示一致的日期信息。
除了前面介紹的方法之外您机,還有一個(gè)toGMTString()的方法穿肄,這是一個(gè)與toUTCSTring()等價(jià)的方法,其存在目的在于確保向后兼容际看。不過咸产,ECMAScript推薦現(xiàn)在編寫的代碼一律使用toUTCString()方法。
<table>
<tr>
<td>方法</td>
<td>說明</td>
</tr>
<tr>
<td>toDateString()</td>
<td>方法可把 Date 對(duì)象的日</td>
</tr>
<tr>
<td>toDateString()</td>
<td>方法可把 Date 對(duì)象的日期部分轉(zhuǎn)換為字符串仿村,并返回結(jié)果</td>
</tr>
<tr>
<td>toTimeString()</td>
<td>方法可把 Time 對(duì)象的日期部分轉(zhuǎn)換為字符串锐朴,并返回結(jié)果</td>
</tr>
<tr>
<td>toLocaleDateString()</td>
<td>如2016年1月1日 </td>
</tr>
<tr>
<td>toLocaleTimeString()</td>
<td>如13:55:55 </td>
</tr>
<tr>
<td>getTime()</td>
<td>返回日期的毫秒數(shù) </td>
</tr>
<tr>
<td>setTime()</td>
<td>設(shè)置日期的毫秒數(shù)</td>
</tr>
<tr>
<td>getFullYear()</td>
<td>獲得年份,如2016 </td>
</tr>
<tr>
<td>setFullYear()</td>
<td>設(shè)置年份蔼囊,如2009</td>
</tr>
<tr>
<td>getMonth()</td>
<td>獲得月份焚志,0表示一月 </td>
</tr>
<tr>
<td>setMonth()</td>
<td>設(shè)置月份,0表示一月畏鼓,超過11增加年份 </td>
</tr>
<tr>
<td>getDate()</td>
<td>獲得日期中的天數(shù) </td>
</tr>
<tr>
<td>setDate()</td>
<td>設(shè)置天數(shù)酱酬,超過31增加月份 </td>
</tr>
<tr>
<td>getDay()</td>
<td>獲得星期,0表示星期日云矫,6表示星期六 </td>
</tr>
<tr>
<td>getHours()</td>
<td>獲得小時(shí)膳沽,0~23 </td>
</tr>
<tr>
<td>setHours()</td>
<td>設(shè)置小時(shí),0~23 </td>
</tr>
<tr>
<td>getMinutes()</td>
<td>獲得分鐘让禀,0~59 </td>
</tr>
<tr>
<td>setMinutes()</td>
<td>設(shè)置分鐘挑社,0~59 </td>
</tr>
<tr>
<td>getSeconds()</td>
<td>獲得秒數(shù),0~59 </td>
</tr>
<tr>
<td>setSeconds()</td>
<td>設(shè)置秒數(shù)巡揍,0~59 </td>
</tr>
<tr>
<td>getMilliseconds()</td>
<td>獲得毫秒 </td>
</tr>
<tr>
<td>setMilliseconds()</td>
<td>設(shè)置毫秒 </td>
</tr>
</table>

日期/時(shí)間組件方法

<table>
<tr>
<td>方法</td>
<td>說明</td>
</tr>
<tr>
<td>getTime()</td>
<td>返回表示日期的毫秒數(shù)痛阻;與valueOf()方法返回的值相同</td>
</tr>
<tr>
<td>setTime(毫秒)</td>
<td>以毫秒數(shù)設(shè)置日期,會(huì)改變整個(gè)日期</td>
</tr>
<tr>
<td>getFullYear()</td>
<td>取得4位數(shù)的年份(如2016而非僅16)</td>
</tr>
<tr>
<td>getUTCFullYear()</td>
<td>返回UTC日期的4位數(shù)年份</td>
</tr>
<tr>
<td>setFullYear(年)</td>
<td>設(shè)置日期的年份腮敌。傳入的年份值必須是4位數(shù)字</td>
</tr>
<tr>
<td>setUTCFullYear(年)</td>
<td>設(shè)置UTC日期的年份阱当。傳入的年份值必須是4位數(shù)字</td>
</tr>
<tr>
<td>getMonth()</td>
<td>返回日期中的月份俏扩,其中0表示一月,11表示十二月</td>
</tr>
<tr>
<td>getUTCMonth()</td>
<td>返回UTC日期中的月份弊添,其中0表示一月录淡,11表示十二月</td>
</tr>
<tr>
<td>setMonth(月)</td>
<td>設(shè)置日期中的月份。傳入的月份值必須大于0油坝,超過11則增加年份</td>
</tr>
<tr>
<td>setUTCMonth(月)</td>
<td>設(shè)置UTC日期中的月份嫉戚。傳入的月份必須大于0,超過11則增加年份</td>
</tr>
<tr>
<td>getDate()</td>
<td>返回日期月份中的天數(shù)(1到31)</td>
</tr>
<tr>
<td>getUTCDate()</td>
<td>返回UTC日期月份中的天數(shù)(1到31)</td>
</tr>
<tr>
<td>setDate(日)</td>
<td>設(shè)置日期月份中的天數(shù)免钻。如果傳入的值超過了該月中應(yīng)有的天數(shù)彼水,則增加月份</td>
</tr>
<tr>
<td>setUTCDate(日)</td>
<td>設(shè)置UTC日期月份中的天數(shù)。如果傳入的值超過了該月中應(yīng)有的天數(shù)极舔,則增加月份</td>
</tr>
<tr>
<td>getDay()</td>
<td>返回日期中星期的星期幾(其中0表示星期日,6表示星期六)</td>
</tr>
<tr>
<td>getUTCDay()</td>
<td>返回UTC日期中星期的星期幾(其中0表示星期日链瓦,6表示星期六)</td>
</tr>
<tr>
<td>getHours()</td>
<td>返回日期中的小時(shí)數(shù)(0到23)</td>
</tr>
<tr>
<td>getUTCHours()</td>
<td>返回UTC日期中的小時(shí)數(shù)(0到23)</td>
</tr>
<tr>
<td>setHours(時(shí))</td>
<td>設(shè)置日期中的小時(shí)數(shù)拆魏,傳入的值超過了23則增加月份中的天數(shù)。傳入的值為負(fù)數(shù)慈俯,則實(shí)際值為前一天的24減參數(shù)的絕對(duì)值小時(shí)渤刃。</td>
</tr>
<tr>
<td>setUTCHours(時(shí))</td>
<td>設(shè)置UTC日期中的小時(shí)數(shù),傳入的值超過了23則增加月份中的天數(shù)贴膘。傳入的值為負(fù)數(shù)卖子,則實(shí)際值為前一天的24減參數(shù)的絕對(duì)值小時(shí)。</td>
</tr>
<tr>
<td>getMinutes()</td>
<td>返回日期中的分鐘數(shù)(0到59)刑峡。</td>
</tr>
<tr>
<td>getUTCMinutes()</td>
<td>返回UTC日期中的分鐘數(shù)(0到59)洋闽。</td>
</tr>
<tr>
<td>setMibutes(分)</td>
<td>設(shè)置日期中的分鐘數(shù),傳入的值超過59則增加小時(shí)數(shù)</td>
</tr>
<tr>
<td>setUTCMinutes(分)</td>
<td>設(shè)置UTC日期中的分鐘數(shù)突梦,傳入的值超過59則增加小時(shí)數(shù)</td>
</tr>
<tr>
<td>getSeconds()</td>
<td>返回日期中的秒數(shù)(0到59)</td>
</tr>
<tr>
<td>getUTCSeconds()</td>
<td>返回UTC日期中的秒數(shù)(0到59)</td>
</tr>
<tr>
<td>setSeconds(秒)</td>
<td>設(shè)置日期中的秒數(shù)诫舅,傳入的值超過59則增加分鐘數(shù)</td>
</tr>
<tr>
<td>setUTCSeconds(秒)</td>
<td>設(shè)置UTC日期中的秒數(shù),傳入的值超過59則增加分鐘數(shù)</td>
</tr>
<tr>
<td>getMilliseconds()</td>
<td>返回日期中的毫秒數(shù)</td>
</tr>
<tr>
<td>getUTCMilliseconds()</td>
<td>返回UTC日期中的毫秒數(shù)</td>
</tr>
<tr>
<td>setMilliseconds(毫秒)</td>
<td>設(shè)置日期中的毫秒數(shù)</td>
</tr>
<tr>
<td>setUTCMilliseconds(毫秒)</td>
<td>設(shè)置UTC日期中的毫秒數(shù)</td>
</tr>
<tr>
<td>getTimezoneOffset()</td>
<td>返回本地時(shí)間與UTC時(shí)間相差的分鐘數(shù)宫患。</td>
</tr>
</table>

日期計(jì)算

Date類中沒有提供相關(guān)的日期計(jì)算方法刊懈,其實(shí)其已經(jīng)給出了方便的日期計(jì)算方法,就是使用 getXXX()setXXX() 方法:

var date = new Date(2016 , 11 , 15 , 12 , 11, 0);
console.log(date.toLocaleString());
date.setDate(date.getDate()-120);//2016/8/17 下午12:11:00
//27天前的日期
console.log(date.toLocaleString());//2016/12/15下午12:11:00     


可以通過簡(jiǎn)單的封裝就可以指定一套自己的日期計(jì)算方法娃闲,如:

function toCharacterString(date){
var localeString = date.toLocaleString();
localeString = localeString.replace("/"  , "年");
localeString = localeString.replace("/"  , "月");
localeString = localeString.replace(" "  , "日");
localeString = localeString.replace(":"  , "點(diǎn)");
localeString = localeString.replace(":"  , "分");
localeString = localeString + "秒";
console.log(localeString);
}
var date = new Date();
toCharacterString(date);// 2016年8月17日下午12點(diǎn)11分01秒     
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末虚汛,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子皇帮,更是在濱河造成了極大的恐慌卷哩,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,402評(píng)論 6 499
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件玲献,死亡現(xiàn)場(chǎng)離奇詭異殉疼,居然都是意外死亡梯浪,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,377評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門瓢娜,熙熙樓的掌柜王于貴愁眉苦臉地迎上來挂洛,“玉大人,你說我怎么就攤上這事眠砾÷簿ⅲ” “怎么了?”我有些...
    開封第一講書人閱讀 162,483評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵褒颈,是天一觀的道長柒巫。 經(jīng)常有香客問我,道長谷丸,這世上最難降的妖魔是什么堡掏? 我笑而不...
    開封第一講書人閱讀 58,165評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮刨疼,結(jié)果婚禮上泉唁,老公的妹妹穿的比我還像新娘。我一直安慰自己揩慕,他們只是感情好亭畜,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,176評(píng)論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著迎卤,像睡著了一般拴鸵。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上蜗搔,一...
    開封第一講書人閱讀 51,146評(píng)論 1 297
  • 那天劲藐,我揣著相機(jī)與錄音,去河邊找鬼碍扔。 笑死瘩燥,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的不同。 我是一名探鬼主播厉膀,決...
    沈念sama閱讀 40,032評(píng)論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼二拐!你這毒婦竟也來了服鹅?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,896評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤百新,失蹤者是張志新(化名)和其女友劉穎企软,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體饭望,經(jīng)...
    沈念sama閱讀 45,311評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡仗哨,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,536評(píng)論 2 332
  • 正文 我和宋清朗相戀三年形庭,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片厌漂。...
    茶點(diǎn)故事閱讀 39,696評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡萨醒,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出苇倡,到底是詐尸還是另有隱情合溺,我是刑警寧澤滞乙,帶...
    沈念sama閱讀 35,413評(píng)論 5 343
  • 正文 年R本政府宣布届谈,位于F島的核電站魔吐,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏综慎。R本人自食惡果不足惜涣仿,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,008評(píng)論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望寥粹。 院中可真熱鬧变过,春花似錦、人聲如沸涝涤。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽阔拳。三九已至,卻和暖如春类嗤,著一層夾襖步出監(jiān)牢的瞬間糊肠,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,815評(píng)論 1 269
  • 我被黑心中介騙來泰國打工遗锣, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留货裹,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,698評(píng)論 2 368
  • 正文 我出身青樓精偿,卻偏偏與公主長得像弧圆,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子笔咽,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,592評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容