let's talk about date in javascript

9
Let’s talk about “ Let’s talk about “ Date Date ” in ” in Javascript Javascript 2010.10.12 2010.10.12

Upload: fangdeng

Post on 20-Jun-2015

990 views

Category:

Education


6 download

TRANSCRIPT

Page 1: Let's talk about  date  in javascript

Let’s talk about “Let’s talk about “DateDate” in ” in JavascriptJavascript

2010.10.122010.10.12

Page 2: Let's talk about  date  in javascript

Date()Date()

new Date()new Date()

new Date(2011)new Date(2011)

new Date(2011, 12)new Date(2011, 12)

new Date(2011, 0, 0)new Date(2011, 0, 0)

new Date(2011, 1, 29)new Date(2011, 1, 29)

new Date(1969, 12, -new Date(1969, 12, -1)1)

new Date(0, 0, 0)new Date(0, 0, 0)

new Date(-1, -1, -1)new Date(-1, -1, -1)

当前时区的当前时间当前时区的当前时间

1970-01-01 08:00:02 0111970-01-01 08:00:02 011

2012-01-01 00:00:00 0002012-01-01 00:00:00 000

2010-12-31 00:00:00 0002010-12-31 00:00:00 000

2011-03-01 00:00:00 0002011-03-01 00:00:00 000

1969-12-30 00:00:00 0001969-12-30 00:00:00 000

1899-12-31 00:00:00 0001899-12-31 00:00:00 000

-0002-11-29 00:00:00 -0002-11-29 00:00:00 000000

Page 3: Let's talk about  date  in javascript

时间标准时间标准

UTCUTC

协调世界时协调世界时

跟理论上的跟理论上的 GMTGMT 时间一致时间一致

跟原子钟时间基本一致,误跟原子钟时间基本一致,误差不超过差不超过 1s1s ,适用于相对,适用于相对精确的时间计算。更精确的精确的时间计算。更精确的就是原子时了。就是原子时了。

逐渐替代逐渐替代 GMTGMT

GMTGMT

格林尼治标准时格林尼治标准时

当太阳穿过格林尼治子午线当太阳穿过格林尼治子午线的时候为正午的时候为正午

随着地球自转的缓慢趋势,随着地球自转的缓慢趋势,需要不断调整。精确度比较需要不断调整。精确度比较低,适用于“掐指一算”。低,适用于“掐指一算”。

逐渐淘汰逐渐淘汰

Page 4: Let's talk about  date  in javascript

北京时间北京时间

UTC + 8 UTC + 8 (( DateDate中根据中根据 GMTGMT参照)参照)

中国地区都按北京时间为准(中国地区都按北京时间为准( UTCUTC基础上加基础上加 88 小小时)时)

好处:在中国到处游玩不用准备多块手表或随时随地好处:在中国到处游玩不用准备多块手表或随时随地计算当地时间计算当地时间

DateDate对象的“对象的“ getXXX()getXXX()””函数都是以操作系统的函数都是以操作系统的时区进行转换。“时区进行转换。“ getUTCXXX()getUTCXXX()””根据根据 UTCUTC时间时间

Page 5: Let's talk about  date  in javascript

DateDate对象常用方法对象常用方法

getTime(), setTime()getTime(), setTime()获取获取 // 设置设置 1970-01-01 00:00:00 0001970-01-01 00:00:00 000 至至 DateDate 对象对象时间的毫秒数(早于时间的毫秒数(早于 1970-01-01 00:00:00 0001970-01-01 00:00:00 000的的时间为负数)。时间为负数)。

getFullYear(), setFullYear()getFullYear(), setFullYear()获取获取 // 设置以四位数字的格式返回对象的年份。设置以四位数字的格式返回对象的年份。

getMonth(), setMonth()getMonth(), setMonth()获取获取 // 设置日期对象的月份,从设置日期对象的月份,从 0~110~11依次对应一月份依次对应一月份~~ 十二月份。十二月份。

Page 6: Let's talk about  date  in javascript

DateDate对象常用方法对象常用方法

getDate(), setDate()getDate(), setDate()获取获取 // 设置设置 DateDate 对象当前月份的“日”对象当前月份的“日” (1~31)(1~31)。。

getDay()getDay()获取获取 DateDate 对象日期的星期,从对象日期的星期,从 0~60~6依次对应周日依次对应周日 ~~周六。周六。

Page 7: Let's talk about  date  in javascript

DateDate的运算的运算

Page 8: Let's talk about  date  in javascript

DateDate的格式化的格式化

目前浏览器没有提供实用的日期格式转化方法。目前浏览器没有提供实用的日期格式转化方法。

Fdev4Fdev4 框架提供了框架提供了““ util-date”util-date” 组件,提供了常用的组件,提供了常用的日期控制方法,包括字符串和日期对象互转的方法。日期控制方法,包括字符串和日期对象互转的方法。

dateInstance.format( format )dateInstance.format( format )

jQuery.util.date.parsejQuery.util.date.parse( s[, format] )( s[, format] )

Page 9: Let's talk about  date  in javascript

Thanks!Thanks!