当前位置: 首页 > news >正文

Java SimpleDateFormat 中英文时间格式化转换

SimpleDateFormat是一个以与语言环境有关的方式来格式化和解析日期的具体类。它允许进行格式化(日期 -> 文本)、解析(文本 -> 日期)和规范化。

SimpleDateFormat使得可以选择任何用户定义的日期-时间格式的模式。但是,仍然建议通过DateFormat中的getTimeInstance、getDateInstance 或 getDateTimeInstance 来创建日期-时间格式器。每一个这样的类方法都能够返回一个以默认格式模式初始化的日期/时间格式器。可以根据需要使用applyPattern 方法来修改格式模式。

日期和时间模式

字母日期或时间元素表示示例
GEra标志符Text
yYear1996; 96
M年中的月份MonthJuly; Jul; 07
w年中的周数Number27
W月份中的周数Number2
D年中的天数Number189
d月份中的天数Number10
F月份中的星期Number2
E星期中的天数TextTuesday; Tue
aam/pm 标记TextPM
H一天中的小时数(0-23)Number0
k一天中的小时数(1-24)Number24
Kam/pm 中的小时数(0-11)Number0
ham/pm 中的小时数(1-12)Number12
m小时中的分钟数Number30
s分钟中的秒数Number55
S毫秒数Number978
z时区General time zonePacific Standard Time; PST; GMT-08:00
Z时区RFC 822 time zone-0800

SimpleDateFormat使用方法
根据上面的的“日期和时间模式”,设定需要匹配的模式,可以实现String与Date类型的互转,例如:

  • String类型的时间转换成Date类型时间,比较常用的几种时间格式转换如下:
  1. 时间格式: “2015-08-28”, 模式: “yyyy-MM-dd”
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
Date date = dateFormat.parse("2015-08-28");
  1. 时间格式: “2015-08-28 18:28:30”, 模式: “yyyy-MM-dd HH:mm:ss”
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = dateFormat.parse("2015-08-28 18:28:30");
  1. 时间格式: “2015-8-28”, 模式: “yyyy-M-d”
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-M-d");
Date date = dateFormat.parse("2015-8-28");
  1. 时间格式: “2015-8-28 18:8:30”, 模式: “yyyy-M-d HⓂ️s”
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-M-d H:m:s");
Date date = dateFormat.parse("2015-8-28 18:8:30");
  1. 时间格式: “Aug 28, 2015 6:8:30 PM”, 模式: “MMM d, yyyy hⓂ️s aa”
SimpleDateFormat dateFormat = new SimpleDateFormat("MMM d, yyyy h:m:s aa", Locale.ENGLISH);
Date date = dateFormat.parse("Aug 28, 2015 6:8:30 PM");
  1. 时间格式: “Fri Aug 28 18:08:30 CST 2015”, 模式: “EEE MMM d HH:mm:ss ‘CST’ yyyy”
SimpleDateFormat dateFormat = new SimpleDateFormat("EEE MMM d HH:mm:ss 'CST' yyyy", Locale.ENGLISH);
Date date = dateFormat.parse("Fri Aug 28 18:08:30 CST 2015");
  • Date类型的时间转换成String类型时间

这是“String类型的时间转换成Date类型时间”的逆向操作,只要将Date date = dateFormat.parse([String型时间]);换成String date = dateFormat.format([Date型时间]);即可。例如,将当前时间格式化成[yyyy年M月d日]的形式:

SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy年M月d日");
String date = dateFormat.format(new Date());

注:我们在做时间格式转换时,主要是找对匹配时间格式的模式;另外,英文格式的时间转换时需要带上Locale.ENGLISH,否则会转换失败,因为它默认的是本地化的设置,除非你的操作系统是英文的,总之时间转换时需要时间格式与模式保持一致。

http://www.lryc.cn/news/212248.html

相关文章:

  • 机器学习-基本知识
  • Xilinx 7 系列 1.8V LVDS 和 2.5V LVDS 信号之间的 LVDS 兼容性
  • R语言在生态环境领域中的实践技术应用
  • ChineseChess.2023.10.31.01
  • 数据库扩展语句和约束方式以及用户管理
  • JMM 简单理解
  • 微软Azure文本转音频,保存成MP3文件【代码python3】
  • 基于单片机的超声波探伤仪设计
  • idea的设置
  • 高等数学啃书汇总重难点(八)向量代数与空间解析几何
  • C#开发DLL,CAPL调用(CAPL>> .NET DLL)
  • 0-1背包问题【穷举法+二维dp数组】
  • nodejs+vue+python+php基于微信小程序的在线学习平台设计与实现-计算机毕业设计
  • Spring学习笔记2 Spring的入门程序
  • 【Linux】虚拟机安装Linux、客户端工具及Linux常用命令(详细教程)
  • Day 47 动态规划 part13
  • 【广州华锐互动】飞机诊断AR远程指导系统为工程师提供更多支持
  • 【贝叶斯回归】【第 2 部分】--推理算法
  • 【深入浅出汇编语言】寄存器精讲第二期
  • 如何保证分布式情况下的幂等性
  • Mybatis特殊SQL的执行
  • MyBatis-Flex(一):快速开始
  • Vue组件化
  • nodejs+python+php+微信小程序-基于安卓android的健身服务应用APP-计算机毕业设计
  • SpringCloud 微服务全栈体系(九)
  • Mybatis 多对一和一对多查询
  • MySQL的数据库操作、数据类型、表操作
  • 音视频技术开发周刊 | 317
  • 【JavaSE专栏58】“Java构造函数:作用、类型、调用顺序和最佳实践“ ⚙️⏱️
  • Ubuntu系统HUSTOJ 用 vim 修改php.ini 重启PHP服务