• DateTimeFormatter的用法


    DateTimeFormatter
    前言
    一、使用java类库
    二、使用步骤
    1.LocalDate转换
    2.LocalDateTime 的转换
    前言
    使用旧的Date对象时,我们用**SimpleDateFormat**进行格式化显示。使用新的LocalDateTime或ZonedLocalDateTime时,我们要进行格式化显示,就要使用DateTimeFormatter。
    和SimpleDateFormat不同的是,DateTimeFormatter不但是不变对象,它还是线程安全的。
    因为SimpleDateFormat不是线程安全的,使用的时候,只能在方法内部创建新的局部变量。
    而DateTimeFormatter可以只创建一个实例,到处引用。

    创建DateTimeFormatter时,我们仍然通过传入格式化字符串实现:

    DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm");
    1
    格式化字符串的使用方式与SimpleDateFormat完全一致。

    另一种创建DateTimeFormatter的方法是,传入格式化字符串时,同时指定Locale:

    DateTimeFormatter formatter = DateTimeFormatter.ofPattern("E, yyyy-MMMM-dd HH:mm", Locale.US);
    1
    这种方式可以按照Locale默认习惯格式化。

    一、使用java类库
    import java.time.format.DateTimeFormatter;

    二、使用步骤
    1.LocalDate转换
    代码如下(示例):

    //解析日期
    String dateStr= "2016年10月25日";
    DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy年MM月dd日");
    //LocalDate练习
    LocalDate date= LocalDate.parse(dateStr, formatter);
    System.out.println(date);
    String format1 = date.format(formatter);
    System.out.println(format1);
    2016-10-25
    2016年10月25日

    2.LocalDateTime 的转换
    代码如下(示例):

    //LocalDateTime练习
    String dateTimeStr= "2016-10-25 12:00:00";
    DateTimeFormatter formatter02 = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
    LocalDateTime localDateTime=LocalDateTime.parse(dateTimeStr,formatter02);
    System.out.println(localDateTime);
    String format = localDateTime.format(formatter02);
    System.out.println(format);
    2016-10-25T12:00
    2016-10-25 12:00:00

    ## 3.一般常见的时间格式
    这里采用的话呢可以使用枚举类也可以是接口(DateConstants)
    代码如下(示例):

    /** 默认的时间格式为"yyyy-MM-dd HH:mm:ss",若后续有其他需求,则可以另行添加 */
    static final String DEFAULT_DATE_FORMAT = "yyyy-MM-dd HH:mm:ss";

    /** 格式 "yyyy/MM/dd HH:mm:ss" */
    static final String DEFAULT_DATE_FORMAT_2 = "yyyy/MM/dd HH:mm:ss";

    /** 格式 "yyyy-MM-dd" */
    static final String DATE_FORMAT = "yyyy-MM-dd";

    static final String DATE_FORMAT_2 = "yyyy/MM/dd";

    /** 格式 "yyyy-MM" */
    static final String MONTH_FORMAT = "yyyy-MM";

    static final String MONTH_FORMAT_2 = "yyyy/MM";

    // 默认的时间格式为"yyyy/MM/dd HH:mm:ss",若后续有其他需求,则可以另行添加
    static DateTimeFormatter defaultFormatter = DateTimeFormat.forPattern(DEFAULT_DATE_FORMAT);

    // 当前日期标签,很多类似日志文件需要打时间标签
    static final String DATE_MARK = "yyyyMMdd";

    // 默认的时间格式
    //private static final String DEFAULT_TIME_FORMAT = "HH:mm:ss";
    static final String HOUR_MINUTE = "HH:mm";

    /**
    * 默认的stringbuffer 长度,
    * stringbuffer 的默认长度是16,
    * 增长策略是每次增加16字节,
    * so可以一次性申请100个字节,提交效率
    */
    int DEFAULT_STRINGBUFFER_LENGTH = 100;

    /** 响应状态: STATUS_OK = 1 */
    static final int DB_INSERT_OK = 1;
    /** 星期一 1 */
    int MONDAY = 1;
    int TUESDAY =2;
    int WEDNESDAY = 3;
    int THURSDAY = 4;
    int FRIDAY = 5;
    int ALLWEEK = 0;

    // 公司名称
    static final String COMPANY_NAME = "XXXXX";
    ————————————————
    版权声明:本文为CSDN博主「小七会喷火」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/Javabaibai/article/details/112213051

  • 相关阅读:
    转:单链表有环判断及其起始位置定位
    转:C++经典排序算法总结
    转:堆排序
    转载:C++快速排序
    转载:平衡二叉树(AVL Tree)
    设计模式原则
    适配器模式
    单例模式
    工厂模式
    Head First设计模式 装饰者模式
  • 原文地址:https://www.cnblogs.com/mwl523/p/16396546.html
Copyright © 2020-2023  润新知