博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java(Time)
阅读量:6160 次
发布时间:2019-06-21

本文共 4471 字,大约阅读时间需要 14 分钟。

hot3.png

Old Time

java.util.Date/java.util.Calendar/java.util.TimeZone/java.util.

java.text.DateFormat/java.text.SimpleDateFormat

Date为格林威治标准时(GMT),是一个时间点,1970年1月1日 00:00:00的毫秒数, 可以认为是没有时区和Locale概念

  DateFormat对于不同地区的配置一般有两个点, 一个是Locale , 一个是TimeZone
  Locale使DateFormat按所配置的地区特性来输出文字
TimeZone让DateFormat知道怎么去转换,去调整时间偏移度,从而得到符合配置的时区的时间
  GMT与UTC的时区是一样的,都是以伦敦时间为基准. 而GMT+8时区就是北京时间所在时区.同一时刻的时间比GMT快8小时
世界时(UT 或 UTC) , 格林威治时间 (GMT), 格林威治时(GMT)和世界时(UT) 是相等的,格林威治时(GMT) 是标准的"民间"称呼, 世界时(UT) 是相同标准的科学称呼。UTC 和 UT 的区别是:UTC 是基于原子时钟的,UT 是基于天体观察的。

 

New Time

java.time 不可变,线程安全

java.time.Date/Time/DateTime/ZoneId
java.time.LocalDate/LocalTime/LocalDateTime/ZoneOffset/Instant/Period/Duration
java.time.Clock

java.time.chrono 日历系统

java.time.format 格式化/解析

java.time.format.DateTimeFormatter
java.time.format.DateTimeFormatterBuilder

java.time.temporal 时态

java.time.temporal.Temporal
java.time.temporal.TemporalAdjuster

java.time.zone 时区

java.time.zone.ZoneRules

text: letters number > 2

number: letters number < 3
number/text:letters >2
fraction: babi-of-second, 1~9 letters
year: two letters or 3 letters or 4 letters or >4 letters
zone id/zone offset/zone offsetid: time-zone ID, Z+xxx or GMT+xxx or region-based ID
zone offset V: time-zone ID, must be 2 letters
zone offset z: time-zone name, 1 letter, but presents multiple text
zone offset X: zone-offset 'Z' for zero, +xx or +xxxx or +xx:xx or +xxxxxx or +xx:xx:xx
zone offset x: zone-offset, 1 letter, but presents multiple text, +xx or +xxxx or +xx:xx or +xxxxxx or +xx:xx:xx
zone offset O: localized offset, must be 1 or 4, GMT+x or GMT+xx:xx
zone offset Z: 1~4 letters, +xx or +xxxx
pad modifier: n 'p' like ppH
other:keep the 6 letters [ ] { } # '
date: 年月日
time: 时分秒.纳秒
datetime: 年月日和时分秒.纳秒
instant: machine/unit时间戳,即时间点
zone id/zone offset: 时区id
zone name/zone text: 时区显示名
chronology id: 年表id
chronology name/chronology text: 年表显示名
zone rules: zone offset 定义类
period: 两个时间点之间的时间段(for unit time: instant)
duration: 两个时间点之间的时间段(for java time)
temporal: 时态对象, 比如Date, Time, Year
clock: current instant, = System.currentTimeMillis() and TimeZone.getDefault()

Symbol  Meaning                     Presentation      Examples

------  -------                     ------------      -------
 G       era                         text              AD; Anno Domini; A
 u       year                        year              2004; 04
 y       year-of-era                 year              2004; 04
 D       day-of-year                 number            189
 M/L     month-of-year               number/text       7; 07; Jul; July; J
 d       day-of-month                number            10

 Q/q     quarter-of-year             number/text       3; 03; Q3; 3rd quarter

 Y       week-based-year             year              1996; 96
 w       week-of-week-based-year     number            27
 W       week-of-month               number            4
 E       day-of-week                 text              Tue; Tuesday; T
 e/c     localized day-of-week       number/text       2; 02; Tue; Tuesday; T
 F       week-of-month               number            3

 a       am-pm-of-day                text              PM

 h       clock-hour-of-am-pm (1-12)  number            12
 K       hour-of-am-pm (0-11)        number            0
 k       clock-hour-of-am-pm (1-24)  number            0

 H       hour-of-day (0-23)          number            0

 m       minute-of-hour              number            30
 s       second-of-minute            number            55
 S       fraction-of-second          fraction          978
 A       milli-of-day                number            1234
 n       nano-of-second              number            987654321
 N       nano-of-day                 number            1234000000

 V       time-zone ID                zone-id           America/Los_Angeles; Z; -08:30

 z       time-zone name              zone-name         Pacific Standard Time; PST
 O       localized zone-offset       offset-O          GMT+8; GMT+08:00; UTC-08:00;
 X       zone-offset 'Z' for zero    offset-X          Z; -08; -0830; -08:30; -083015; -08:30:15;
 x       zone-offset                 offset-x          +0000; -08; -0830; -08:30; -083015; -08:30:15;
 Z       zone-offset                 offset-Z          +0000; -0800; -08:00;

 p       pad next                    pad modifier      1

 '       escape for text             delimiter

 ''      single quote                literal           '
 [       optional section start
 ]       optional section end
 #       reserved for future use
 {       reserved for future use
 }       reserved for future use

 G Era 标志符 Text AD
 y 年 Year 1996; 96
 Y Weekyear    Year    2009; 09
 M 年中的月份 Month July; Jul; 07
 L    Month_in_year(standalone_form)    Month    July; Jul; 07
 w 年中的周数 Number 27
 W 月份中的周数 Number 2
 D 年中的天数 Number 189
 d 月份中的天数 Number 10
 F 月份中的星期 Number 2
 E 星期中的天数 Text Tuesday; Tue
 u    Day_number_of_week(1=Monday)    Number    1
 a Am/pm 标记 Text PM
 H 一天中的小时数(0-23) Number 0
 k 一天中的小时数(1-24) Number 24
 K am/pm 中的小时数(0-11) Number 0
 h am/pm 中的小时数(1-12) Number 12
 m 小时中的分钟数 Number 30
 s 分钟中的秒数 Number 55
 S 毫秒数 Number 978
 z 时区 General time zone Pacific Standard Time; PST; GMT-08:00
 Z 时区 RFC 822 time zone -0800

 E 中文永远都是星期X 英文E代表简写,如Mon, 而EEEE代表Monday, 调皮的话可以发现EE跟EEE都是简写,而再多的E都是全写

 y 可能由于目前的时间都是公元四位数年(2014), 所以超过四个y都会在当前年份前加0,如yyyyy->02014, 英文其他个数都是全写, 中文如两个y,则为简写,如2014就成了14
 d 所有超过两个的使用都会在应有的数字前面加0, 而且中文也不会加上日字
 M 英文M跟MM为数字月份,如03, MMM则为简写Mar, 而MMMM或者更多(调皮)为March. 中文三个或以上为X月,其他都为纯数字
 H K k m s等小时分钟,一个为0,超过加0
 Z表示时区, 个数多少也有不同, 可参见官方文档
 

转载于:https://my.oschina.net/igooglezm/blog/803708

你可能感兴趣的文章
前端js之JavaScript
查看>>
Log4J日志配置详解
查看>>
实验7 BindService模拟通信
查看>>
scanf
查看>>
Socket编程注意接收缓冲区大小
查看>>
SpringMVC初写(五)拦截器
查看>>
检测oracle数据库坏块的方法
查看>>
SQL server 安装教程
查看>>
Linux下ftp和ssh详解
查看>>
跨站脚本功攻击,xss,一个简单的例子让你知道什么是xss攻击
查看>>
js时间和时间戳之间如何转换(汇总)
查看>>
js插件---图片懒加载echo.js结合 Amaze UI ScrollSpy 使用
查看>>
java中string和int的相互转换
查看>>
P1666 前缀单词
查看>>
HTML.2文本
查看>>
Ubuntu unity安装Indicator-Multiload
查看>>
解决Eclipse中新建jsp文件ISO8859-1 编码问题
查看>>
7.对象创建型模式-总结
查看>>
【论文阅读】Classification of breast cancer histology images using transfer learning
查看>>
移动端处理图片懒加载
查看>>