1、sql 中格式化时间:
%Y-%m-%d %H:%i:%S我们举例当前时间2020-11-16 16:25:34 来讲解
%Y是指年 ,区分大小写:大写是阿拉伯4位比如今年2020;小写是阿拉伯两位20。
%m是指月,区分大小写:大写是指英文比如11月November;小写是阿拉伯11。
%d是指日,区分大小写:大写是指本月第几天,16号为16th;小写是阿拉伯16。
%H是指时,区分大小写:大写是指24小时制当前为16,;小写是12小时制04。
%i是指分钟,不区分大小写。
%S是指秒,不区分大小写。
举例如下:
1)mysql 默认时间格式yyyy-MM-dd HH:mm:ss 在sql中使用%Y-%m-%d %H:%i:%S 格式
select DATE_FORMAT(now(), ‘%Y-%m-%d %H:%i:%S’) as newTime
2)yyyy-MM-dd 在sql中使用 %Y-%m-%d 格式
select DATE_FORMAT(now(), ‘%Y-%m-%d’) as newTime;
3)MM-dd 在sql中使用 %m-%d 格式,寻找用户表里生日大于10月1号的用户
select * from userInfo where DATE_FORMAT(user_birthday,’%m-%d’) > ‘10-01’
4)详解如下图:
:
2、java中格式化时间:
我们最常使用的就是
SimpleDateFormat format= new SimpleDateFormat(yyyy-MM-dd HH:mm:ss);
Date date = format.parse(dateStr);//字符串时间转为时间格式
String dateStr = format.format(date);//时间类型格式化为字符串格式
1)字符串类型格式化为时间类型工具:
/**
* 将对应格式的字符串转为日期格式的时间
* @param dateStr日期字符串
* @param type 字符串类型
* @return
* 举例:strToDate("20190412",3)
*/
public static Date strToDate(String dateStr,int type){
String formateType ="";
if(type == 1 ) {
formateType = "yyyyMMddHHmmss";
}else if(type == 2) {
formateType = "yyyyMMdd";
}else if(type == 3) {
formateType = "yyyyMMddHHmmssSSS";
}else if(type == 4){
formateType = "yyyy-MM-dd";
}else {
formateType ="yyyy-MM-dd HH:mm:ss";
}
Date date = new Date();
try {
SimpleDateFormat format= new SimpleDateFormat(formateType);
date = format.parse(dateStr);
} catch (Exception e) {
// TODO Auto-generated catch block
return new Date();
}
return date;
}
2)时间格式的转换为字符串类型:
/**
* 将日期转为对应格式的字符串
* @param date
* @param type
* @return
* 举例:dateToStr(new Date(),2)
*/
public static String dateToStr(Date date,int type){
String dateStr = getDate();
String formateType ="";
if(type == 1 ) {
formateType = "yyyyMMddHHmmss";
}else if(type == 2) {
formateType = "yyyyMMdd";
}else if(type == 3) {
formateType = "yyyyMMddHHmmssSSS";
}else if(type == 4){
formateType = "yyyy-MM-dd";
}else {
formateType ="yyyy-MM-dd HH:mm:ss";
}
try {
SimpleDateFormat format= new SimpleDateFormat(formateType);
dateStr = format.format(date);
} catch (Exception e) {
System.out.println(e.getMessage());
}
return dateStr;
}