GMT:Greenwich Mean Time,格林威治标准时间
// 例1:根据1970-1-1到某个时间点经过的毫秒数,推出具体时间点
// 1.创建Calendar对象,根据毫秒数设置对象的时间
Calendar c = Calendar.getInstance();
c.setTimeInMillis(46800999);
// 2.创建SimpleDateFormat对象,指定格式 时:分:秒
DateFormat df = new SimpleDateFormat("HH:mm:ss");
// 3.设置时区,GMT表示0时区
df.setTimeZone(TimeZone.getTimeZone("GMT"));
// 4.格式化时间
System.out.println(df.format(c.getTime()));
// 例2:根据某个字符串得到指定格式的日期
String str = "2011-01-18 00:00:00.0";
DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
Date date = df.parse(str);
String newstr = df.format(date);
// 获取所有可用的时区
String[] zones = TimeZone.getAvailableIDs();
// 模式字母
yyear
Mmonth in year
dday in month
Dday in year
Hhour in day(0-23)
hhour in day(1-12)
mminute in hour
ssecond in minute
Smillisecond
注意!创建 Calendar 类对象并设置了时区后,使用SimpleDateFormat 和 DateTimeFormatter 的区别Calendar.getTime()
方法返回的是一个java.util.Date
对象,这个 Date 对象并不会使用 Calendar 对象的时区,而是使用当前系统的时区;
- 【Java 格式化输出日期】创建对象的方式:
- SimpleDateFormat 通过
new
来创建对象,它是线程不安全的,因此在多线程程序中,每次使用 SimpleDateFormat 时都要创建一个实例; - DateTimeFormatter 通过
ofPattern
方法创建对象,它是线程安全的,因此在多线程程序中不用每次使用都创建一个实例;
- SimpleDateFormat 通过
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss.SSS");
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm:ss.SSS");
parse
方法:
- SimpleDateFormat 的 parse 方法将
String
转为Date
; - DateTimeFormatter 的 parse 方法将
String
转为Temporal Accessor
;
- SimpleDateFormat 的 parse 方法将
format
方法:
- SimpleDateFormat 的 format 方法将
Date
转为String
; - DateTimeFormatter 的 format 方法将
Temporal Accessor
转为String
;
- SimpleDateFormat 的 format 方法将
https://linuxtut.com/en/935f4...
推荐阅读
- java/android ?????????????????????????????????(17)
- java/android 做题中整理的碎片小贴士(16)
- JAVA|项目上传文件大小限制
- 源码|JAVA带财务进销存 ERP管理系统源码《免费分享源码》
- java/android ?????????????????????????????????(15)
- java/android 做题中整理的碎片小贴士(12)
- 【面试普通人VS高手系列】说一说Mybatis里面的缓存机制
- 又被问了(Spring Boot 定时任务开启后,怎么符合条件自动停止())
- TestNG中运行测试用例(不使用Java编译器)