[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]某日期时间加上若干分钟得到新的日期时间的更多相关文章
- 《Java 8实战》读书笔记系列——第三部分:高效Java 8编程(四):使用新的日期时间API
https://www.lilu.org.cn/https://www.lilu.org.cn/ 第十二章:新的日期时间API 在Java 8之前,我们常用的日期时间API是java.util.Dat ...
- 《Java 8 in Action》Chapter 12:新的日期和时间API
在Java 1.0中,对日期和时间的支持只能依赖java.util.Date类.同时这个类还有两个很大的缺点:年份的起始选择是1900年,月份的起始从0开始. 在Java 1.1中,Date类中的很多 ...
- MySql日期加天数,小时,分钟...得到新的时间
在当前的日期上加三天,天数随便改: SELECT date_add(CURRENT_DATE(), interval 3 day); 在指定的日期上加三天: SELECT date_add('2014 ...
- Mysql在字符串类型的日期上加上10分钟并和如今的日期做比較
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/ufo2910628/article/details/32092869 SELECT id FROM ...
- Java 8 (11) 新的日期和时间API
在Java 1.0中,对日期和时间的支持只能依赖java.util.Date类.这个类只能以毫秒的精度表示时间.这个类还有很多糟糕的问题,比如年份的起始选择是1900年,月份的起始从0开始.这意味着你 ...
- JAVA中String.format的用法 格式化字符串,格式化数字,日期时间格式化,
1.对整数进行格式化:%[index$][标识][最小宽度]转换方式 我们可以看到,格式化字符串由4部分组成,其中%[index$]的含义我们上面已经讲过,[最小宽度]的含义也很好理解, ...
- Java日期时间API系列1-----Jdk7及以前的日期时间类
先看一个简单的图: 主要的类有: Date类负责时间的表示,在计算机中,时间的表示是一个较大的概念,现有的系统基本都是利用从1970.1.1 00:00:00 到当前时间的毫秒数进行计时,这个时间称为 ...
- java 日期和字符串互转,依据当天整天时间 得到当天最后一秒的日期时间
java 日期和字符串互转.依据当天整天时间 得到当天最后一秒的日期时间 package com.hi; import java.text.DateFormat; import java.text ...
- java 8中新的日期和时间API
java 8中新的日期和时间API 使用LocalDate和LocalTime LocalDate的实例是一个不可变对象,它只提供了简单的日期,并不含当天的时间信息.另外,它也不附带任何与时区相关的信 ...
随机推荐
- Linux 之 搜索
locate - 文件名搜索命令 用于查找文件 格式为:locate 文件名 该命令用于查找符合条件的文件,它会去保存文件与目录名称的数据库内,查找合乎范本样式条件的文件或目录. 因为该命令是直接在数 ...
- c# 定义和调用索引器
- 【OF框架】搭建标准工作环境
前言 统一工作环境,统一工具集,是沟通效率的基础.如同语言一样,使用不同语言的人,需要花更多的精力去理解语言,然后才是理解语言的内容,而使用相同语言的人,对话过程直接进入到内容.对于语言不统一增加的效 ...
- python高级特性-filter
python内建的函数filter用于过滤序列 和map()相同:filter()也接收一个函数的序列. 和map()不同:filter()把传入的函数依次依次作用于每个元素,然后根据返回值是True ...
- python中json序列化时汉字变成编码的解决方式
我们在使用json模块时,如果被序列化对象中不包含汉字,当然没有任何问题,但是有汉字会被编译成unicode码: import json dic = {","sex":& ...
- psql主主复制
主主是mysql的概念,通常在mysql中为保证事务一致也是一台主写,一台做读.pg主从可以互为切换 之前没做数据库部署这部分,一个同事离职暂时没人,接受过来的!mysql做的是主主复制,我理解是可以 ...
- Git 的用法
对于GIT 的用法,最近一直在寻找方法.网上也能找到一些方法.但是感觉说的不是很清楚,在这里我基于自己经验写一些. 对于任何一种方法都要安装GIT. 我是基于VS Code 2015 来做的. 在安 ...
- Git---报错:git Please move or remove them before you can merge 解决方案
场景: 当前在本地仓库lucky,因修改了123.txt的文件内容,需要将lucky分支push到远程Git库,在push前有其他的同事已删除了远程Git库中的123.txt文件.因此这时就产生了远程 ...
- Vue多语言支持
i18n插件实现多语言支持,本文以中英文为例记录一下配置过程. 1.配置 1.1安装:npm install vue-i18n --save 1.2创建中英文配置项文件 src/lang目录下创建以下 ...
- mongodb中帮助信息和命令
在Mongodb中,可以看作是一种面向对象的操作,如果你对与某一个操作不清楚,可以直接help. 在mongodb中,无非是对DB.user.collections.文档的操作. 下面是简单的示例: ...