使用SimpleDateFormat类来实现时间跟字符串的转化

Posted zxfei

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用SimpleDateFormat类来实现时间跟字符串的转化相关的知识,希望对你有一定的参考价值。

使用Date和SimpleDateFormat类表示时间

1、Date类

需要处理日期和时间的相关数据时可以使用 java.util 包中的 Date 类,这个类最主要的作用就是获取当前时间。下面看看用法:

import java.util.Date;

public class TestDate {

    public static void main(String[] args) {
        // 使用默认的构造方法创建Date对象
        Date date = new Date();
        // 输出date对象
        System.out.println(date);// 输出内容为:Wed Apr 24 18:12:30 CST 2019
    }

}  

可以看出默认的输出格式不是我们常见的日期格式。如果想要按指定的格式进行显示,如 2014-06-11 09:22:30 ,那该怎么做呢?此时就到了 java.text 包中的 SimpleDateFormat 类大显身手的时候了!!可以使用 SimpleDateFormat 来对日期时间进行格式化,如可以将日期转换为指定格式的文本,也可将文本转换为日期。下面看看其用法:

2、SimpleDateFormat类

  1. 使用 format() 方法将日期转换为指定格式的文本

     import java.text.SimpleDateFormat;  
     import java.util.Date;
    
     public class TestDate {
    
         public static void main(String[] args) {
             // 使用默认的构造方法创建Date对象
             Date date = new Date();
             // 输出date对象
             System.out.println(date);// 输出内容为:Wed Apr 24 18:12:30 CST 2019
    
             // 创建SimpleDateFormat对象,并指定目标格式
             SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
             // 调用format方法,对当前日期进行格式化,返回一个字符串
             String now = sdf.format(date);
             System.out.println(now);// 输出内容为:2019-04-24 18:21:09
         }
    
     }  

    代码中的 “yyyy-MM-dd HH:mm:ss” 为预定义字符串, yyyy 表示四位年, MM 表示两位月份, dd 表示两位日期, HH 表示小时(使用24小时制), mm 表示分钟, ss 表示秒,这样就指定了转换的目标格式,最后调用 format() 方法将时间转换为指定的格式的字符串。

  2. 使用 parse() 方法将文本转换为日期

     import java.text.ParseException;
     import java.text.SimpleDateFormat;
     import java.util.Date;
    
     public class TestDate {
    
         public static void main(String[] args) {
             // 创建日期格式字符串
             String source = "2019年04月24日 18:34:25";
             // 创建SimpleDateFormat对象
             SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
             try {
                 Date now = sdf.parse(source);
                 System.out.println(now);// 输出:Wed Apr 24 18:34:25 CST 2019
             } catch (ParseException e) {
                 e.printStackTrace();
             }
         }
    
     }

以上是关于使用SimpleDateFormat类来实现时间跟字符串的转化的主要内容,如果未能解决你的问题,请参考以下文章

Java 时间日期整理

安卓时间类型的转换和比大小

使用SimpleDateFormat验证日期格式

跟王老师学反射:动态代理

Java获取时间差(天数差,小时差,分钟差)

Java获取时间差(天数差,小时差,分钟差)