[Java]某日期时间加上若干分钟得到新的日期时间
使用Java自带类库实现日期时间增减还是比自己人工拆分编写要牢靠,代码也简洁多了。
下面代码实现了在原有日期时间上加上一些分钟得到新的日期时间的功能,稍加改造还可以实现逆向运算。
代码:
package datetime; import java.text.MessageFormat; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; public class TimeTest { public static String getNewTime(String datetime,String addMinutes) throws Exception{ SimpleDateFormat formatter =new SimpleDateFormat("yyyy年MM月dd日 HH时mm分"); Date originalDate = formatter.parse(datetime); Calendar newTime = Calendar.getInstance(); newTime.setTime(originalDate); newTime.add(Calendar.MINUTE,Integer.parseInt(addMinutes));//日期加n分 Date newDate=newTime.getTime(); String retval = formatter.format(newDate); return retval; } public static void main(String[] args) throws Exception { String[][] arrays= { {"2019年11月15日 08时63分","10"}, {"2019年11月15日 08时03分","15"}, {"2019年11月15日 09时63分","20"}, {"2019年11月15日 24时63分","25"}, {"2019年11月15日 08时63分","30"}, {"2019年11月15日 18时63分","35"}, {"2019年11月15日 08时63分","40"}, {"2019年11月15日 08时63分","45"}, {"2019年11月15日 15时00分","50"}, {"2019年11月15日 18时01分","60"}, {"2019年11月15日 18时01分","360"}, }; for(String[] arr:arrays) { String template=" {0} + {1}分 = {2}"; Object[] objs={arr[0],arr[1],getNewTime(arr[0],arr[1])}; System.out.println(MessageFormat.format(template, objs)); } } }
输出:
2019年11月15日 08时63分 + 10分 = 2019年11月15日 09时13分 2019年11月15日 08时03分 + 15分 = 2019年11月15日 08时18分 2019年11月15日 09时63分 + 20分 = 2019年11月15日 10时23分 2019年11月15日 24时63分 + 25分 = 2019年11月16日 01时28分 2019年11月15日 08时63分 + 30分 = 2019年11月15日 09时33分 2019年11月15日 18时63分 + 35分 = 2019年11月15日 19时38分 2019年11月15日 08时63分 + 40分 = 2019年11月15日 09时43分 2019年11月15日 08时63分 + 45分 = 2019年11月15日 09时48分 2019年11月15日 15时00分 + 50分 = 2019年11月15日 15时50分 2019年11月15日 18时01分 + 60分 = 2019年11月15日 19时01分 2019年11月15日 18时01分 + 360分 = 2019年11月16日 00时01分
附录:SimpleFormat输出格式定义,这个必不可少:
yyyy:年 MM:月 dd:日 hh:1~12小时制(1-12) HH:24小时制(0-23) mm:分 ss:秒 S:毫秒 E:星期几
--END-- 2019-11-15 18:35
分类:
Java.日期时间处理
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
2017-11-15 【Canvas与艺术】桃红八尖花
2017-11-15 【Canvas与艺术】八瓣点心包裹之四
2013-11-15 【Canvas与艺术】简约式胡萝卜配色汽车速度表