转换日期字符串为日期对象
转换日期字符串为日期对象
使用SimpleDateFormat转换字符串为日期对象,下面是日期格式说明。
字母 | 日期或时间元素 | 表示 | 示例 | |
---|---|---|---|---|
G | Era 标志符 | Text | AD | |
y | 年 | Year | 1996; 96 | |
M | 年中的月份 | Month | July; Jul; 07 | |
w | 年中的周数 | Number | 27 | |
W | 月份中的周数 | Number | 2 | |
D | 年中的天数 | Number | 189 | |
d | 月份中的天数 | Number | 10 | |
F | 月份中的星期 | Number | 2 | |
E | 星期中的天数 | Text | Tuesday; Tue | |
a | Am/pm 标记 | Text | PM | |
H | 一天中的小时数(0-23) | Number | 0 | |
k | 一天中的小时数(1-24) | Number | 24 | |
K | am/pm 中的小时数(0-11) | Number | 0 | |
h | am/pm 中的小时数(1-12) | Number | 12 | |
m | 小时中的分钟数 | Number | 30 | |
s | 分钟中的秒数 | Number | 55 | |
S | 毫秒数 | Number | 978 | |
z | 时区 | General time zone | Pacific 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);