DateFormat 是日期/时间格式化子类的抽象类,它以与语言无关的方式格式化并解析日期或时间。日期/时间格式化子类(如 SimpleDateFormat类)允许进行格式化(也就是日期 -> 文本)、解析(文本-> 日期)和标准化。我们通过DateFormat可以帮我们完成日期和文本之间的转换。
public static void main(String[] args) throws ParseException {
Date newTime = new Date();
//设置时间格式
SimpleDateFormat sdf1 = new SimpleDateFormat("y-M-d h:m:s a E");
SimpleDateFormat sdf2 = new SimpleDateFormat("yy-MM-dd hh:mm:ss a E");
SimpleDateFormat sdf3 = new SimpleDateFormat("yyyy-MMM-ddd hhh:mmm:sss a E");
SimpleDateFormat sdf4 = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
//获取的时间,是本机的时间
String formatDate1 = sdf1.format(newTime);
String formatDate2 = sdf2.format(newTime);
String formatDate3 = sdf3.format(newTime);
String formatDate4 = sdf4.format(newTime);
System.out.println(formatDate1);
System.out.println(formatDate2);
System.out.println(formatDate3);
System.out.println(formatDate4);
String str = "2017-11-16 11:11:11";
Date date1 = sdf4.parse(str);
System.out.println(date1);
}
格式的设定
yyyy : 代表年(不去区分大小写) 假设年份为 2017
“y” , “yyy” , “yyyy” 匹配的都是4位完整的年 如 : “2017”
“yy” 匹配的是年分的后两位 如 : “15”
MM : 代表月(只能使用大写) 假设月份为 9
“M” 对应 “9”
“MM” 对应 “09”
“MMM” 对应 “Sep”
dd : 代表日(只能使用小写) 假设为13号
“d” , “dd” 都对应 “13”
hh : 代表时(区分大小写,大写为24进制计时,小写为12进制计时) 假设为15时
“H” , “HH” 都对应 “15” ,
“h” 对应 “3”
mm : 代表分(只能使用小写) 假设为32分
“m” , “mm” 都对应 “32” ,
ss : 代表秒(只能使用小写) 假设为15秒
“s” , “ss” 都对应 “15” ,
E : 代表星期(只能使用大写) 假设为 Sunday
“E” , “EE” , “EEE” 都对应 “Sun”
a : 代表上午还是下午,如果是上午就对应 “AM” , 如果是下午就对应 “PM”
分隔符可以使“-”或“:”或汉字“年月日时分秒”
欢迎工作一到五年的Java工程师朋友们加入Java架构开发: 854393687
群内提供免费的Java架构学习资料(里面有高可用、高并发、高性能及分布式、Jvm性能调优、Spring源码,MyBatis,Netty,Redis,Kafka,Mysql,Zookeeper,Tomcat,Docker,Dubbo,Nginx等多个知识点的架构资料)合理利用自己每一分每一秒的时间来学习提升自己,不要再用"没有时间“来掩饰自己思想上的懒惰!趁年轻,使劲拼,给未来的自己一个交代!