原标题:java8中的Date、DateTime、Instant
LocalDate
含有年、月、日
LocalDate.of(2018, 1, 27) //或 LocalDate.of(2018, Month.JANUARY, 27)
= 2014-1-27
LocalTime
仅含有小时、分钟、秒、纳秒
LocalTime.of(3, 30, 20)
= 03:30:20
LocalDateTime
结合了LocalDate和LocalTime
LocalDateTime.of(2018, 1, 27, 3, 30, 20)
= 2018-01-27T03:30:20
ZoneDateTime
含有时区信息的时间
ZonedDateTime.of(LocalDateTime.of(2018, 1, 27, 3, 30, 20), ZoneId.of(+08));
= 2018-01-27T03:30:20+08:00
Instant
用long表示从1970-1-1 00:00:00到现在的nanosecond
Instant.now()// 获取当前时间
= 2018-01-27T14:40:41.487Z
上面的类都提供了争对时区的操作:
Instant.now().atOffset(ZoneOffset.ofHours(8))// 获取北京时间
2018-01-27T22:40:41.486+08:00
日期时间转换为指定格式
//用long表示从1970-1-1 00:00:00到现在的毫秒
long currentTime = System.currentTimeMillis();
Date date = new Date(currentTime);
//更友好的方式将日期和时间展示给客户
// yyyy-MM-dd HH:mm:ss
//指定一个格式
SimpleDateFormat sdf = new SimpleDateFormat(yyyy-MM-dd HH:mm:ss);
//把日期按照指定的格式转换为字符串
String dateTime = sdf.format(date);
= 2018-01-27 14:40:41返回搜狐,查看更多
责任编辑: