haizhilingyu 的个人知识记录

Open Source, Open Mind,
Open Sight, Open Future!

转换日期字符串为日期对象

转换日期字符串为日期对象

使用SimpleDateFormat转换字符串为日期对象,下面是日期格式说明。

字母日期或时间元素表示示例
GEra 标志符TextAD
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

GMT/GST字符串格式转换

将带有GMT格式的日期字符串转换为Java日期对象,,字符串中带有英文字符串必须带上参数Locale.US进行转换,代码如下:

String stringDate = "Thu Oct 16 07:13:48 GMT 2014";
SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss 'GMT' yyyy",Locale.US);

Date date =sdf.parse(stringDate);

System.out.println(date.toString());

sdf=**new**SimpleDateFormat("yyyy-MM-ddHH:mm:ss");    

System._out_.println(sdf.format(date));

如果是带有GST字符的日期字符串将日期格式中GMT改GST就可以了

Linux日期输出字符串转换为日期对象

Linux日志和命令输出的日期字符串基本都是Thu Apr 18 16:35:34 2024这种格式,字符串中带有英文字符串必须带上参数Locale.US进行转换

String dateStr = "Thu Apr 18 16:35:34 2024";  
  
// 定义与输入日期字符串格式相符的模式  
SimpleDateFormat formatter = new SimpleDateFormat("EEE MMM dd HH:mm:ss yyyy", Locale.US);  
  
// 将日期字符串解析为Date对象  
Date dateObj = formatter.parse(dateStr);  
  
System.out.println(dateObj);

带有中文日期转换

String dateStr = "2024年04月18日16:35:34";  
  
// 定义与输入日期字符串格式相符的模式  
SimpleDateFormat formatter = new SimpleDateFormat("yyyy年MM月dd日HH:mm:ss", Locale.US);  
  
// 将日期字符串解析为Date对象  
Date dateObj = formatter.parse(dateStr);  
  
System.out.println(dateObj);

普通日期转换

String dateStr = "2024-04-18 16:35:34";  
  
// 定义与输入日期字符串格式相符的模式  
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.US);  
  
// 将日期字符串解析为Date对象  
Date dateObj = formatter.parse(dateStr);  
  
System.out.println(dateObj);

标题:转换日期字符串为日期对象
作者:haizhilingyu
地址:https://xiweihai.site/articles/2024/04/19/1713461587000.html