简单好用的返回明天0点,昨天0点等任意天数的方法
快速入口:主要思路是在定日期格式时,直接定死时分秒
private static String timeInterval(int amount)throws Exception{
Calendar calendar = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd 00:00:00");
calendar.add(Calendar.DATE, amount);
String strTime = sdf.format(calendar.getTime());
return strTime;
}
(1)当需求要求一个日期格式的时间时,可用:
/**
* 计算距此时往前或往后天数0点时间
* @param amount 天数
* @return 返回Date类型的时间
* @throws Exception
*/
private static Date timeInterval(int amount)throws Exception{
Calendar calendar = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd 00:00:00");
calendar.add(Calendar.DATE, amount);
String strTime = sdf.format(calendar.getTime());
Date time = sdf.parse(strTime);
return time;
}
public static void main(String[] args) throws Exception {
String time = timeInterval(3);
System.out.println(time);
}
输出结果:
输入 2 -> 2020-05-06 00:00:00
输入 5 -> 2020-05-09 00:00:00
输入 -1 -> 2020-05-03 00:00:00
(2)普遍适用,满足需求是返回字符串格式的时间:
/**
* 计算距此时往前或往后天数0点时间
* @param amount 天数
* @return 返回的String格式的时间
* @throws Exception
*/
private static String timeInterval(int amount)throws Exception{
Calendar calendar = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd 00:00:00");
calendar.add(Calendar.DATE, amount);
String strTime = sdf.format(calendar.getTime());
return strTime;
}
public static void main(String[] args) throws Exception {
String time = timeInterval(-1);
System.out.println(time);
}
输出结果:
输入 2 -> 2020-05-06 00:00:00
输入 5 -> 2020-05-09 00:00:00
输入 -1 -> 2020-05-03 00:00:00
注:可修改参数更改日期格式new SimpleDateFormat(“yyyy-MM-dd 00:00:00”)
如,new SimpleDateFormat(“yyyy-MM-dd”),就会输出 2020-05-06,看具体需求。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/117901.html