工作中经常遇到时间类型相关的转化问题,我就简述一下我目前碰到的
1.如何判断一个字符串是时间类型
使用simpleDateFormat辅助识别字符串,在try里面进行转换,如果失败了,代表不是时间类型的字符串,或者是不符合给定的格式,可以直接走进catch里面执行逻辑
public void timeTest(){
String datetimeStr = "2023-12-26 09:52:12";
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("YYYY-MM-DD HH:mm:ss");
try {
Date date = simpleDateFormat.parse(datetimeStr);
System.out.println("时间戳转time时间为:"+date);
} catch (ParseException e) {
System.out.println("转化失败,该类型不是时间类型字符串");
}
}
2. 时间类型之间的相互转换
public static void main(String[] args) {
String datetimeStr = "2023-12-26 09:52:12";
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("YYYY-MM-DD HH:mm:ss");
try {
Date date = simpleDateFormat.parse(datetimeStr); //date时间类型
System.out.println("转化成功,字符串转时间:"+date);
long longTime = date.getTime(); // 时间戳
System.out.println("date转时间戳为:"+longTime);
Date date1 = new Date(longTime);
System.out.println("时间戳转时间为:"+date1);
Time time = new Time(longTime); // time类型
System.out.println("时间戳转time时间为:"+time);
} catch (ParseException e) {
System.out.println("转化失败,该类型不是时间类型字符串");
}
}
输出结果如图: