Advertisement

Java时间类型转换(Date转String、String转Date、GMT转Date格式 String格式 时间戳)

阅读量:

Date转String格式(yyyy-MM-dd HH:mm:ss)

复制代码
     //获取当前的日期

    
     Date date = new Date();
    
     //设置时间格式
    
     SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    
     //转换为String格式
    
     String dateStr = sdf.format(date);

结果:2019-08-30 15:54:02

String转Date

复制代码
     String dateStr = "2019-08-30 15:56:27";

    
     SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    
     try {
    
         Date date = sdf.parse(dateStr);
    
     } catch (ParseException e) {
    
         e.printStackTrace();
    
     }

结果:Fri Aug 30 15:56:27 CST 2019

时间戳转String

复制代码
     long time = 1485178077000L;

    
     //设置时间格式
    
     SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    
     //转换为String格式
    
     String dateStr = sdf.format(new Date(time));
    
     System.out.println(dateStr);

结果:2017-01-23 21:27:57

String转时间戳

复制代码
     String strDate = "2017-01-23 21:27:57";

    
     SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    
     try {
    
         long time = sdf.parse(strDate).getTime();
    
         System.out.println(time);
    
     } catch (ParseException e) {
    
         e.printStackTrace();
    
     }

结果:1485178077000

Date格式转时间戳

复制代码
     Date date = new Date();

    
     long time = date.getTime();
    
     System.out.println(time);

结果:1567156766484

时间戳转Date格式

复制代码
     long time = 1567156766484L;

    
     Date date = new Date(time);
    
     System.out.println(date);

结果:Fri Aug 30 17:19:26 CST 2019

CST字符串格式转Date格式、String格式、时间戳

复制代码
     String dateStr = "Fri Aug 30 15:56:27 CST 2019";

    
     SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss 'CST' yyyy", Locale.ENGLISH);
    
     try {
    
         //转换Date格式
    
         Date date = sdf.parse(dateStr);
    
         System.out.println("date格式:" + date);
    
  
    
         //转换时间戳格式
    
         long time = date.getTime();
    
         System.out.println("时间戳:" + time);
    
  
    
         sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    
         //转换为String格式
    
         String newStr = sdf.format(date);
    
         System.out.println("String格式" + newStr);
    
     } catch (ParseException e) {
    
         e.printStackTrace();
    
     }

结果:

GMT(格林威治时间)字符串格式转Date格式、String格式、时间戳 -- CST格式

复制代码
     String stringDate = "Fri, 30 Aug 2019 09:39:07 GMT";

    
     System.out.println("格林威治时间:" + stringDate);
    
     //如果stringDate中没有‘,’号,格式转换中也不要加,保持一致
    
     SimpleDateFormat sdf = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss z", Locale.ENGLISH);
    
     try {
    
         //格林威治时间字符串转为Date格式 - 此Date是北京时间 GMT+8
    
         Date date = sdf.parse(stringDate);
    
         System.out.println("GMT+8 Date格式:" + date);
    
         //格林威治时间字符串转为时间戳 - 此时间戳是北京时间 GMT+8
    
         long time = date.getTime();
    
         System.out.println("GMT+8 时间戳:" + time);
    
  
    
         sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    
         //格林威治时间字符串转为String字符串 - 此String字符串是北京时间 GMT+8
    
         String newStr = sdf.format(date);
    
         System.out.println("GMT+8 String格式:" + newStr);
    
  
    
     } catch (ParseException e) {
    
         e.printStackTrace();
    
     }

结果:

GMT(格林威治时间)字符串格式转String格式 -- 保持GMT格式

复制代码
     String stringDate = "Fri, Aug 30 09:39:07 GMT 2019";

    
     System.out.println("格林威治时间:" + stringDate);
    
     //如果stringDate中没有‘,’号,格式转换中也不要加,保持一致
    
     SimpleDateFormat gmt = new SimpleDateFormat("EEE, MMM dd HH:mm:ss 'GMT' yyyy",Locale.ENGLISH);
    
     try {
    
  
    
         // GMT转换时间戳 - 此时间戳是格林威治时间
    
         long gmtTime = gmt.parse(stringDate).getTime();
    
         System.out.println("格林威治时间时间戳:" + gmtTime);
    
  
    
         // 时间戳转换String字符串 - 此时间戳是格林威治时间
    
         gmt = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    
         String gmtString = gmt.format(new Date(gmtTime));
    
         System.out.println("格林威治时间String字符串:" + gmtString);
    
     } catch (ParseException e) {
    
         e.printStackTrace();
    
     }

结果:

SimpleDateFormat参数对照表

作为参考网上的SimpleDateFormat参数对应表,请确保您了解字母对应的规则即可生成所需的时间格式

字母 日期或时间元素 表示 示例
G Era 标志符 Text AD
y Year 1996; 96
M 年中的月份 Month July; Jul; 07
w 年中的周数 Number 27
W 月份中的周数 Number 2
D 年中的天数 Number 189
d 月份中的天数 Number 10
F 月份中的星期 Number 2
E 星期中的天数 Text Tuesday; Tue
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

全部评论 (0)

还没有任何评论哟~