国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

淺談javascript中關于日期和時間的基礎知識

2019-11-20 09:30:09
字體:
來源:轉載
供稿:網友

前面的話

在介紹Date對象之前,首先要先了解關于日期和時間的一些知識。比如,閏年、UTC等等。深入了解這些,有助于更好地理解javascript中的Date對象。本文將介紹javascript關于日期和時間的基礎知識

標準時間一般而言的標準時間是指GMT和UTC,以前是GMT,現在是UTC

GMT

格林尼治標準時間(GMT)是指位于倫敦郊區的皇家格林尼治天文臺的標準時間,因為本初子午線被定義在通過那里的經線

理論上來說,格林尼治標準時間的正午是指當太陽橫穿格林尼治子午線時(也就是在格林尼治上空最高點時)的時間。由于地球在它的橢圓軌道里的運動速度不均勻,這個時刻可能和實際的太陽時相差16分鐘

地球每天的自轉是有些不規則的,而且正在緩慢減速。所以,格林尼治時間已經不再被作為標準時間使用。現在的標準時間――世界協調時間(UTC)提供

UTC

世界協調時間(UTC)又稱世界統一時間,世界標準時間,國際協調時間,全稱Coordinated Universal Time,是以原子時秒長為基礎,在時刻上盡量接近于世界時的一種時間計量系統

這套時間系統被應用于許多互聯網和萬維網的標準中,中國大陸、中國香港、中國澳門、中國臺灣、蒙古國、新加坡、馬來西亞、菲律賓、西澳大利亞州的時間與UTC的時差均為+8,也就是UTC+8

在軍事中,協調世界時區會使用“Z”來表示。又由于Z在無線電聯絡中使用“Zulu”作代稱,協調世界時也會被稱為"Zulu time"

日期時間字符串格式

ECMAScript定義了一個基于簡化的ISO8601擴展格式的日期時間的字符串互換格式

日期時間完整格式為:  YYYY-MM-DDTHH:mm:ss.sssZ

[注意]前置0不能省略,否則在完整格式的情況下會報錯

YYYY    公歷中年的十進制數字,如果這個參數值在0-99之間,則向它加上1900-      在字符串中直接以“-”(破折號)出現兩次MM     一年中的月份,從01(一月)到12(十二月)DD     月份中的日期,從01到31T      在字符串中直接以“T”出現,用來表明時間元素的開始HH     用兩個十進制數字表示的,自午夜0點以來的小時數:      在字符串中直接以“:”(冒號)出現兩次mm     是用兩個十進制數字表示的,自小時開始以來的分鐘數ss     是用兩個十進制數字表示的,自分開始以來的秒數.      在字符串中直接以“.”(點)出現sss     是用三個十進制數字表示的,自秒開始以來的毫秒數Z      是時區偏移量,由(“Z”(指UTC)或“+”或“-”)和后面跟著的時間表達式hh:mm組成

只表示日期的格式:  YYYY YYYY-MM YYYY-MM-DD

[注意]所有數字必須是10進制的。如果缺少MM或DD字段,用“01”作為它們的值。如果缺少mm或ss字段,用“00”作為它們的值,對于缺少的sss用“000”作為它的值。對于缺少的時區偏移量用“Z”

閏年

年分為閏年和平年,平年有365天,閏年有366天,閏年的2月比平年多一天

閏年的定義是(可被4整除)且((不可被100整除)或(可被400整除))的年份

口訣是:四年一閏,百年不閏,四百年再閏

function IsLeapYear(year){  if(typeof year == 'number'){    if((year % 4 === 0 && year % 100 !== 0) || year % 400 === 0){      return 'leap year'    }else{      return 'common year'    }  }  return 'please input number'}
console.log(IsLeapYear(4));//'leap year'console.log(IsLeapYear(400));//'leap year'console.log(IsLeapYear(2000));//'leap year'console.log(IsLeapYear(1900));//'common year'

月日

一年有12個月,其中4、6、9、11月每月有30天;如果是閏年,2月有29天,否則 ,2月有28天。1、3、5、7、8、10、12月每月有31天

在javascript中,月的計算從0開始,所以1-12月,分別用0-11來表示;而日的計算則從1開始,1就代表第1天,以此類推

if(month == 2){  //如果是閏年  if((year % 4 === 0 && year % 100 !== 0) || year % 400 === 0){    days = 29;  //如果是平年  }else{    days = 28;  }//如果是第4、6、9、11月}else if(month == 4 || month == 6 ||month == 9 ||month == 11){  days = 30;}else{  days = 31;}

在javascript中,月份的簡寫經常在日期字符串中使用

一月    Jan January二月    Feb February三月    Mar March四月    Apr April五月    May May六月    Jun June七月    Jul July八月    Aug August九月    Sep September十月    Oct October十一月   Nov November十二月   Dec December

星期

星期是從星期日開始,到星期六結束,分別用0-6來表示

在javascript中,各星期的簡寫經常在日期字符串中使用

星期日  sunday     Sun星期一  monday     Mon星期二  Tuesday    Tue星期三  Wednesday   Wed星期四  Thursday    Thu星期五  Fridday    Fri星期六  Saturday    Sar

時分秒

1天 = 24小時 = 24*60(1440)分 = 24*60*60(86400)秒 = 86,400,000毫秒  1分= 60秒  1小時 = 3600秒  1天 = 86400秒

Date對象返回的是一個毫秒數,經常需要將其換算成時分秒的形式

date = 100000sday(天) = Math.floor(100000/86400) = 1hour(小時) = Math.floor((100000%86400)/3600) = 3minute(分) = Math.floor((100000%3600)/60) = 46second(秒) = Math.floor(100000%60)=40console.log(100000 === 1*86400+ 3*3600+ 46*60+40);//true

以上這篇淺談javascript中關于日期和時間的基礎知識就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 濮阳县| 靖江市| 上栗县| 湾仔区| 和静县| 翁源县| 鲜城| 正阳县| 廊坊市| 东阿县| 丹凤县| 穆棱市| 定南县| 阳山县| 信宜市| 内乡县| 嫩江县| 汪清县| 互助| 从江县| 孝昌县| 武清区| 凭祥市| 湟源县| 合江县| 乐亭县| 嵊泗县| 林州市| 张家界市| 民和| 大名县| 崇文区| 安达市| 星座| 宜兰县| 阿图什市| 鹤壁市| 长沙县| 许昌市| 项城市| 鸡东县|