SimpleDateFormat使用及注意事项
下文笔者讲述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()); } }
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。