0
点赞
收藏
分享

微信扫一扫

JavaSe -- 解析和自定义时间【时间日期Java】

经常用时间这玩意 但忘了写:我们经常用 Date来定义时间,但我们也要去解析 和 自定义格式他:【2种:】本次基于Date讲解,其他的什么Calendar 啥的 自己去研究:1. 解析转换时间【Date】:

DateFormat :

它支持,样式和模式,但是样式是内定的,你不能自定义:

样式:

1.DateFormat.SHORT 例如:15/2/15

2.DateFormat.MEDIUM例如:Der 2,2020

3.DateFormat.LONG 例如:December 2 ,2021

4.DateFormat.FULL例如: Friday,Decembr 2 ,2021

你得要先有样式,才能去解析时间 然后返回字符串类型的数字, 用静态方法 :

​static DateFormat​

​getDateInstance(int style)​

他还有模式啊: 不止是 getDateInstance 还可以 是 时间 、 日期时间  还可以指定时区....

去获取一个样式,然后用静态方法调用他的 format  或 parse  应该明白吧? 下面例子:

 

import java.text.DateFormat;
import java.text.ParseException;
import java.util.Date;

public class DateForm {
    public static void main(String[] args) {
        DateFormat shor = DateFormat.getDateInstance(DateFormat.SHORT);
        System.out.println(shor.format(new Date()));
        try {
            System.out.println(shor.parse("20-6-6"));   //这里一定要对上格式 不然异常
        } catch (ParseException e) {
            e.printStackTrace();
        }
    }
}

 还可以设置严格模式...还有很多设置详看API 

这个可以 但是非常不方便! 所以呢!

2.SimpleDateFormat

他是 DateFormat的升级版 他可以自定义格式的时间日期:

Date and Time Pattern

Result

​"yyyy.MM.dd G 'at' HH:mm:ss z"​

​2001.07.04 AD at 12:08:56 PDT​

​"EEE, MMM d, ''yy"​

​Wed, Jul 4, '01​

​"h:mm a"​

​12:08 PM​

​"hh 'o''clock' a, zzzz"​

​12 o'clock PM, Pacific Daylight Time​

​"K:mm a, z"​

​0:08 PM, PDT​

​"yyyyy.MMMMM.dd GGG hh:mm aaa"​

​02001.July.04 AD 12:08 PM​

​"EEE, d MMM yyyy HH:mm:ss Z"​

​Wed, 4 Jul 2001 12:08:56 -0700​

​"yyMMddHHmmssZ"​

​010704120856-0700​

​"yyyy-MM-dd'T'HH:mm:ss.SSSZ"​

​2001-07-04T12:08:56.235-0700​

​"yyyy-MM-dd'T'HH:mm:ss.SSSXXX"​

​2001-07-04T12:08:56.235-07:00​

​"YYYY-'W'ww-u"​

​2001-W27-3​

 

我们一般是  xxxx-xx-xx 所以是: yyyy-MM-dd

首先创建一个自定义格式的字符串,然后把new 一个对【刚开始是默认格式】

  • 构造方法

Constructor and Description

​SimpleDateFormat()​

使用默认的 ​​FORMAT​​​现场默认模式和日期格式的符号构建了一个 ​​SimpleDateFormat​​。

​SimpleDateFormat(String pattern)​

使用给定的模式和默认的日期格式符号默认 ​​FORMAT​​​现场构建了一个 ​​SimpleDateFormat​​。

​SimpleDateFormat(String pattern, DateFormatSymbols formatSymbols)​

使用给定的模式和日期格式的符号构建了一个 ​​SimpleDateFormat​​。

​SimpleDateFormat(String pattern, Locale locale)​

使用给定的模式和默认的日期格式符号为给定的区域构造 ​​SimpleDateFormat​​。 

  • 他有4个构造 我们用第二个 就可以吧自定义的格式放入即可~

    例:【很简单的......】

  • import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Date;

    public class DateForm {
        public static void main(String[] args) {
        String form = "yyyy-MM-dd";
            SimpleDateFormat dateFormat = new SimpleDateFormat(form);

            Date now = new Date();

            System.out.println(dateFormat.format(now));
            try {
                System.out.println(dateFormat.parse("2020-06-06"));
            } catch (ParseException e) {
                e.printStackTrace();
            }

        }
    }

     



  • 好了 这就是 最最最基础的时间转换了 希望帮到大家不会的..................................永远的学生 - bihu




 作者:咸瑜​

举报

相关推荐

0 条评论