[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的实例是一个不可变对象,它只提供了简单的日期,并不含当天的时间信息.另外,它也不附带任何与时区相关的信 ...
随机推荐
- 定制ubuntu镜像
使用ubuntu server 18.04 lts版镜像 作为源镜像定制目标镜像, 工具cubic, 定制目标镜像, 使得一些服务装机后即可使用,例如redis, mysql, monggodb ,s ...
- KVM虚拟化——简介
KVM 基于内核的虚拟机KVM(Kernel-Based Virtual Machine)是2007年问世的开源虚拟化解决方案.KVM需要两个条件: ①硬件支持全虚拟化 ②操作系统为Linux KVM ...
- JDBC终章- 使用 DBUtils实现增删查改- C3P0Utils数据源/QueryRunner runner连接数据源并执行sql
JDBC终章- 使用 DBUtils实现增删查改 1.数据库结构 Create Table CREATE TABLE `user` ( `id` ) NOT NULL AUTO_INCREMENT, ...
- 【图文教程】CentOS 7配置静态IP地址
文档目标:帮助新手在刚刚安装好的CentOS 7上设置静态IP地址. 目标人群:本篇教程比较简单,针对的是初学者,专业人士请跳过,不喜勿喷.谢谢! 在vmware中安装好centos7(安装过程省略) ...
- npm的安装,升级与卸载
npm查询版本 npm -v npm安装模块 [npm install xxx]利用 npm 安装xxx模块到当前命令行所在目录: [npm install -g xxx]利用npm安装全局模块xxx ...
- python_面向对象——属性方法property
1.属性方法 class Student(object): def __init__(self,name): self.name = name @property #属性方法:把一个方法变成一个静态的 ...
- Lua 学习之基础篇一<Lua 运算符>
引言 由于刚接触lua,个人觉得接触一门新语言,就要一定要对基础的部分做一个快速了解. 于是参考网上相关资料吸收并整理下来作为笔记,模糊的时候用来回顾一下. 这些部分基本都是经过自己手动测试梳理过,没 ...
- 如何在vscode中用standard style 风格去验证 vue文件
1 JavaScript Standard Style简介 本工具通过以下三种方式为你(及你的团队)节省大量时间: 无须配置. 史上最便捷的统一代码风格的方式,轻松拥有. 自动代码格式化. 只需运行 ...
- Windows 创建Raid
Windows 常见raid有0.1和5,以下操作在虚拟机下模拟,学会这招在自己电脑做个raid也未尝不可啊~ 一.RAID 0 创建: 添加两块硬盘,联机并初始化(2T以下选MBR,以上选GPT) ...
- sql server 变量和select 赋值的联合使用demo
) ) select @cltcode=cltcode,@brand=brand from prosamplehd CREATE table #t ( cltcode ), brand ) ) INS ...