将string转为date,方便快捷
- 1. string类型的时间转为datetime
- 2. string类型的时间转为date
如果想获得带具体时间的datetime
,可以将形如2022-01-02 12:34:56
的string
,使用下面的方法转为date
类型:
public static date transferstring2date(string s) {
date date = new date();
try {
date = new simpledateformat("yyyy-mm-dd hh:mm:ss").parse(s);
} catch (parseexception e) {
//logger.error("时间转换错误, string = {}", s, e);
}
return date;
}
调用该方法:
system.out.println(transferstring2date("2022-01-02 12:34:56"));
运行结果如下:
sun jan 02 12:34:56 cst 2022
如果只想获得日期,不想获得具体的时分秒,不管是形如2022-01-02
还是2022-01-02 12:34:56
的string
,都可以使用下面的方法转为date
类型:
public static date transferstring2date(string s) {
date date = new date();
try {
date = new simpledateformat("yyyy-mm-dd").parse(s);
} catch (parseexception e) {
//logger.error("时间转换错误, string = {}", s, e);
}
return date;
}
调用该方法:
system.out.println(transferstring2date("2022-01-02"));
system.out.println(transferstring2date("2022-01-02 12:34:56"));
运行结果如下:
sun jan 02 00:00:00 cst 2022
sun jan 02 00:00:00 cst 2022
如果根本不想显示时分秒,可以直接使用localdate
类型:
public static localdate transferdate2localdate(date date) {
return date.toinstant().atzone(zoneid.systemdefault()).tolocaldate();
}
将刚刚获得的date
类型转换为localdate
类型:
system.out.println(transferdate2localdate(transferstring2date("2022-01-02")));
system.out.println(transferdate2localdate(transferstring2date("2022-01-02 12:34:56")));
运行结果如下:
2022-01-02
2022-01-02