本文主要包含的有:
Date 转为String
String 转为Date
时间戳与Date类型的相互转换
java时间戳与unix时间戳的关系
计算两个时间的差值
DateTimeFormatter
SimpleDateFormat简介
Date 的常用方法
Calendar的方法及使用
注:以下的方法中很多常量和方法我都没有提取出来,正式项目中还是建议大家封装在时间处理类中,规范化操作
1.Date 转为String
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = new Date();
//SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.getDefault());
String timeval = sdf.format(date);
System.out.println("===> 格式化后的日期为: " + timeval);
//===> 格式化后的日期为: 2020-10-28 22:34:35
2.String转Date
String day="2020-20-09 20:09:08";
//String day = "2008年08月18日 20:07:33";
// SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss", Locale.getDefault());
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = sdf.parse(day);
System.out.println("----> 格式化后的日期为: "+date);
3、时间戳转Date转 String
public static void main(String[] args) {
// 10位的秒级别的时间戳
long time1 = 1527767665;
String result1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date(time1 * 1000));
System.out.println("10位数的时间戳(秒)--->Date:" + result1);
Date date1 = new Date(time1*1000); //对应的就是时间戳对应的Date
// 13位的秒级别的时间戳
double time2 = 1515730332000d;
String result2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(time2);
System.out.println("13位数的时间戳(毫秒)--->Date:" + result2);
10位数的时间戳(秒)--