SimpleDateFormat使用及注意事项

杨采妮 Java经验 发布时间:2022-05-27 17:56:45 阅读数:17214 1
下文笔者讲述SimpleDateFormat的使用及注意事项,如下所示

SimpleDateFormat常见的API简介

/**
 * SimpleDateFormat
 * 一个与语言环境相关的格式化日期和分析日期的工具类。
 * 利用该类可以将日期转换成文本,或者将文本转换成日期。
 * 
 * 在使用SimpleDateFormat时需要指定一个需要的格式(pattern)来格式日期(Date).
 * 在此请注意几个字母大小写的差异:
 * 
 * 大写的H为24小时制表示一天中的小时数(0-23)
 * 小写的h为12小时制表示一天中的小时数(1-12)
 * 
 * 大写的M表示年中的月份 
 * 小写的m表示小时中的分钟数 
 * 
 * 大写的S表示毫秒数
 * 小写的s表示秒数
 * 
 * 所以最常用的24小时制的具体日期的pattern为:
 * yyyy-MM-dd HH:mm:ss
 * 
 * 
 * SimpleDateFormat中format()方法小结:
 * 1 format()方法的作用是将日期(Date)转换为文本
 * 2 format()方法的输入参数是一个Date
 * 
 * 
 * SimpleDateFormat中parse()方法小结:
 * 1 parse()方法的作用是将文本转换为日期(Date)
 * 2 parse()方法的输入参数是一个文本,比如String
*/

SimpleDateFormat使用示例-日期转文本

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Locale;

Date date = new Date();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.getDefault());
String time = simpleDateFormat.format(date);

System.out.println("----> 格式化后的日期为: "+time);
System.out.println("----------------------------------");

文本转日期

/**
  * 请注意:
  * 
  * 文本的格式应该与 SimpleDateFormat 中的 pattern 保持一致,否则导致异常
  * 比如:
  * 2020年05月27日 19:11:55   对应于yyyy年MM月dd日 HH:mm:ss
  * 2020-05-27 20:07:33           对应于yyyy-MM-dd HH:mm:ss
*/
private void test2() {
  try {
        String day = "2020年05月27日 20:07:33";
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss", Locale.getDefault());
        Date date = simpleDateFormat.parse(day);
        System.out.println("----> 格式化后的日期为: "+date);

        day = "2020-05-27 20:07:33";
        simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.getDefault());
        date = simpleDateFormat.parse(day);
        System.out.println("----> 格式化后的日期为: "+date);

        day = "20220527175622";
        simpleDateFormat = new SimpleDateFormat("yyyyMMddHHmmss", Locale.getDefault());
        date = simpleDateFormat.parse(day);
        simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.getDefault());
        String time = simpleDateFormat.format(date);
        System.out.println("----> 时间文本为: "+time);

        System.out.println("----------------------------------");
    } catch (Exception e) {
        System.out.println("----> Exception: "+e.toString());
    }
}

版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaJingYan/202205/16536454473541.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者