JavaSimpleDateFormat中英⽂时间格式化转换详解
SimpleDateFormat是⼀个以与语⾔环境有关的⽅式来格式化和解析⽇期的具体类。它允许进⾏格式化(⽇期 -> ⽂本)、解析(⽂本 -> ⽇期)和规范化。
SimpleDateFormat使得可以选择任何⽤户定义的⽇期-时间格式的模式。但是,仍然建议通过DateFormat中的getTimeInstance、getDateInstance 或 getDateTimeInstance 来创建⽇期-时间格式器。每⼀个这样的类⽅法都能够返回⼀个以默认格式模式初始化的⽇期/时间格式器。可以根据需要使⽤applyPattern ⽅法来修改格式模式。
⽇期和时间模式
SimpleDateFormat使⽤⽅法
string转date的方法根据上⾯的的“⽇期和时间模式”,设定需要匹配的模式,可以实现String与Date类型的互转,例如:
String类型的时间转换成Date类型时间,⽐较常⽤的⼏种时间格式转换如下:
a. 时间格式: “2015-08-28”,模式: “yyyy-MM-dd”
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
Date date = dateFormat.parse("2015-08-28");
b. 时间格式: “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");
c. 时间格式: “2015-8-28”,模式: “yyyy-M-d”
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-M-d");
Date date = dateFormat.parse("2015-8-28");
d. 时间格式: “2015-8-28 18:8:30”,模式: “yyyy-M-d H:m:s”
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-M-d H:m:s");
Date date = dateFormat.parse("2015-8-28 18:8:30");
e. 时间格式: “Aug 28, 2015 6:8:30 PM”,模式: “MMM d, yyyy h:m: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");
f. 时间格式: “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,否则会转换失败,因为它默认的是本地化的设置,除⾮你的操作系统是英⽂的,总之时间转换时需要时间格式与模式保持⼀致。
以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。