日期的转换格式非常重要,理解日期转换,可以非常方便我们转换我们想要的格式
SimpleDateFormat函数的继承关系:
java.lang.Object (最高一级)
|
+—-java.text.Format
|
+—-java.text.DateFormat
|
+—-java.text.SimpleDateFormat
日期模板(非常重要,前端后端数据库基本都是一样的)
月份必须是大 M .分钟为小m
SimpleDateFormat构造函数
//构造方法:
public SimpleDateFormat(String pattern)
//转换:
public Date parse(String source)throws ParseException //-->此时取得的是全部时间数。
//格式化:
public final String Format(Date date) //-->将时间重新格式化成字符串显示
SimpleDateFormat 常见的使用
public class MyFormatDateTime {
public static void main(String[] args) {
SimpleDateFormat myFmt=new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");
SimpleDateFormat myFmt1=new SimpleDateFormat("yy/MM/dd HH:mm");
SimpleDateFormat myFmt2=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//等价于now.toLocaleString()
SimpleDateFormat myFmt3=new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒 E ");
SimpleDateFormat myFmt4=new SimpleDateFormat(
"一年中的第 D 天 一年中第w个星期 一月中第W个星期 在一天中k时 z时区");
Date now=new Date();
System.out.println(myFmt.format(now)); //2020年11月22日 22时10分24秒
System.out.println(myFmt1.format(now)); // 20/11/22 22:10
System.out.println(myFmt2.format(now)); //2020-11-22 22:10:24
System.out.println(myFmt3.format(now)); //2020年11月22日 22时10分24秒 星期日
System.out.println(myFmt4.format(now)); //一年中的第 351 天 一年中第51个星期 一月中第3个星期 在一天中17时 CST时区
System.out.println(now.toGMTString()); //22 Nov 2020 22:10:24 GMT
System.out.println(now.toLocaleString()); //2020-11-22 22:10:24
System.out.println(now.toString()); //Sun Nov 16 22:10:24 CST 2020
}
}
字符串转日期 :
import java.text.* ;
import java.util.* ;
public class DateDemo05{
public static void main(String args[]){
String strDate = "2008-10-19 10:11:30.345" ;
// 准备第一个模板,从字符串中提取出日期数字
String pat1 = "yyyy-MM-dd HH:mm:ss.SSS" ;
// 准备第二个模板,将提取后的日期数字变为指定的格式
String pat2 = "yyyy年MM月dd日 HH时mm分ss秒SSS毫秒" ;
SimpleDateFormat sdf1 = new SimpleDateFormat(pat1) ; // 实例化模板对象
SimpleDateFormat sdf2 = new SimpleDateFormat(pat2) ; // 实例化模板对象
Date d = null ;
try{
d = sdf1.parse(strDate) ; // 将给定的字符串中的日期提取出来
}catch(Exception e){ // 如果提供的字符串格式有错误,则进行异常处理
e.printStackTrace() ; // 打印异常信息
}
System.out.println(sdf2.format(d)) ; // 将日期变为新的格式
}
};
观看的文档:
DateFormat 日期格式化类(必须掌握)
https://www.cnblogs.com/qingfengzhuimeng/p/6735698.html
DateFormat与SimpleDateFormat
https://blog.youkuaiyun.com/xx326664162/article/details/52208247
Java时间日期格式转换
https://www.cnblogs.com/edwardlauxh/archive/2010/03/21/1918615.html