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 PatternResult
"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

本文来自博客园,作者:咸瑜,转载请注明原文链接:https://www.cnblogs.com/bi-hu/p/14854567.html

原文地址:https://www.cnblogs.com/bi-hu/p/14854567.html