本篇内容介绍了“java基于中国标准时间的字符串格式转换方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
建议使用 LocalDateTime 版本! (一个无法拒绝的版本[doge])
private static void parseByLocalDateTime(String dateStr) {
// 转换时间格式 ==> "Wed Nov 21 2018 00:00:00 GMT+0800 (中国标准时间)"
dateStr = dateStr.replace("GMT", "").replaceAll("\\(.*\\)", "").trim();
DateTimeFormatter df = DateTimeFormatter.ofPattern("EEE MMM dd yyyy HH:mm:ss Z", Locale.US);
// 保留 年月日 时分秒
LocalDateTime ldt = LocalDateTime.parse(dateStr, df);
// =>2018-11-21 14:12:09
System.out.println(ldt.toString().replaceAll("T", "\\ "));
// 只保留 年月日
LocalDate ldt1 = LocalDate.parse(dateStr, df);
// 2018-11-21
System.out.println(ldt1.toString().replaceAll("T", "\\ "));
}
private static String parseTime( String dateStr ) {
// 转换时间格式 ==> "Wed Nov 21 2018 00:00:00 GMT+0800 (中国标准时间)"
String parseDate; // 定义一个用于返回的变量
// 字符串转Date
// 定义一个 用于格式化字符串的变量
SimpleDateFormat sdf =
new SimpleDateFormat( "EEE MMM dd yyyy HH:mm:ss 'GMT+0800 (中国标准时间)'", Locale.US );
Date date = new Date(); // 创建 Date 对象
try {
date = sdf.parse( dateStr ); // 将目标字符串按指定格式解析
} catch (ParseException e) {
log.info( "时间格式转换错误" + date.toString() ); // 打印错误日志,也可以用 "System.out.println()"
}
//Date转字符串
sdf = new SimpleDateFormat( "yyyy-MM-dd" ); // 再次指定转换的格式
parseDate = sdf.format( date ); // 按指定日期格式转换
//parseDate: 2018-11-21
return parseDate; // 返回处理后的结果
}
“java基于中国标准时间的字符串格式转换方法是什么”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注天达云网站,小编将为大家输出更多高质量的实用文章!