正则表达式
/** * 正则表达式数组 */ //2017-09-12T00:00:00,//2017-01-05T00:00:00+08:00,//2016-01-21T04:13:56.293Z//2017-09-12T00:00:00, String[] regexArray = {"^\\d{4}-\\d{1,2}-\\d{1,2}T(([0-1]{1}[0-9]{1})|([2]{1}[0-4]{1}))([:])(([0-5]{1}[0-9]{1}|[6]{1}[0]{1}))([:])((([0-5]{1}[0-9]{1}|[6]{1}[0]{1})))", //2018年07月25日 "^\\d{4}[\u5e74]\\d{1,2}[\u6708]\\d{1,2}[\u65e5]$", //2015/1/14 00:00:00 "^\\d{4}\\/\\d{1,2}\\/\\d{1,2}\\s*(([0-1]{1}[0-9]{1})|([2]{1}[0-4]{1}))([:])(([0-5]{1}[0-9]{1}|[6]{1}[0]{1}))([:])((([0-5]{1}[0-9]{1}|[6]{1}[0]{1})))"};
【Java 日期格式转换】代码书写:
public String doFormat(String value, String to) { try { for (String regex : regexArray) { if (value.contains("T")){ try { Date parse = DateFormatUtils.ISO_DATETIME_FORMAT.parse(value); String format = DateFormatUtils.format(parse, "yyyy-MM-dd HH:mm:ss"); return format; } catch (ParseException e) { e.printStackTrace(); } } if (value.matches(regex)) {if(value.contains("年")&&value.contains("月")&&value.contains("日")){ SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日"); Date parse = sdf.parse(value); //转换为util.date String formated = DateFormatUtils.format(parse, to); return formated; } if (value.contains("/")) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss"); Date parse = sdf.parse(value); //转换为util.date String format = DateFormatUtils.format(parse, "yyyy-MM-dd HH:mm:ss"); return format; } SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Date parse = sdf.parse(value); //转换为util.date String formated = DateFormatUtils.format(parse, to); return formated; } } } catch (ParseException e) { log.warn("格式化失败:{}", e); return value; } log.warn("没有匹配的表达式"); return value; }
推荐阅读
- Java|Java基础——数组
- 人工智能|干货!人体姿态估计与运动预测
- java简介|Java是什么(Java能用来干什么?)
- Java|规范的打印日志
- Linux|109 个实用 shell 脚本
- 程序员|【高级Java架构师系统学习】毕业一年萌新的Java大厂面经,最新整理
- Spring注解驱动第十讲--@Autowired使用
- SqlServer|sql server的UPDLOCK、HOLDLOCK试验
- jvm|【JVM】JVM08(java内存模型解析[JMM])
- 技术|为参加2021年蓝桥杯Java软件开发大学B组细心整理常见基础知识、搜索和常用算法解析例题(持续更新...)