java中日期做减法_Java中日期的加法和减法
8 个答案:
答案 0 :(得分:13)
首先,您必须将String日期转换为java.util.Date,而不是必须使用java.util.Calendar来操纵日期。也可以用millis做数学,但我不推荐这个。
public static void main( final String[] args ) throws ParseException {
final String sdate = "2012-01-01";
final SimpleDateFormat df = new SimpleDateFormat( "yyyy-MM-dd" );
final Date date = df.parse( sdate ); // conversion from String
final java.util.Calendar cal = GregorianCalendar.getInstance();
cal.setTime( date );
cal.add( GregorianCalendar.MONTH, 5 ); // date manipulation
System.out.println( "result: " + df.format( cal.getTime() ) ); // conversion to String
}
答案 1 :(得分:4)
避开日期数学的内置Date类。看看JodaTime,它有更好的API用于此类事情。
答案 2 :(得分:2)
Calendar cal = Calendar.getInstance();
cal.add(Calendar.MONTH, 5);
答案 3 :(得分:1)
要将日期转换为日历,请使用:
Date date = your_date_here;
Calendar cal = Calendar.getInstance();
cal.setTime(date);
然后使用日历算术函数进行加/减:
cal.add(Calendar.MONTH, 5);
答案 4 :(得分:0)
使用谷歌的GWT包中的CalenderUtils。
import com.google.gwt.user.datepicker.client.CalendarUtil;
...
//now
Date d = new Date();
// Now + 2 months
CalendarUtil.addMonthsToDate(d, 2);
答案 5 :(得分:0)
另一个选项是来自第三方Apache Commons库集合的DateUtils类。例如:
Date d = DateUtils.parseDate("2012-01-01", "yyyy-MM-dd");
Date d2 = DateUtils.addMonths(d, 5);
System.out.println("Old date + 5 months = " + d2);
答案 6 :(得分:0)
或者,将日期转换为milis。算一算,然后将毫秒转换回日期。
答案 7 :(得分:-1)
java中日期做减法_Java中日期的加法和减法相关推荐
- java gui怎么做游戏_Java中关于GUI实现贪吃蛇游戏的简单方法
这篇文章主要介绍了Java GUI编程之贪吃蛇游戏简单实现方法,详细分析了贪吃蛇游戏的具体实现步骤与相关注意事项,并附带demo源码供读者下载参考,需要的朋友可以参考下 本文实例讲述了Java GUI ...
- java线程能做什么_java中的多线程能做什么 ?基本作用能说下吗?
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 给你写个最简单的 多线程分同步和异步的,我已经给你写上了synchronized ,但注释了,你可以顺便看看加上它和去掉他的区别! public clas ...
- java怎样将日期本土化_Java中的日期操作
在日志中常用的记录当前时间及程序运行时长的方法: public void inject(Path urlDir) throws Exception { SimpleDateFormat sdf = n ...
- java中定义一个时间_Java中的日期和时间
根据个人目前正在编写的<Java核心编程-基础篇>的规划,这部分属于第15章内容,这里沿用了书中的章节编号.另外,因为原文篇幅太长,这里适当做了删减. 15.1.概述 在 Java 8 之 ...
- java怎么无参构造方法_Java中如何在无参构造方法中调用有参构造?
展开全部 一般正常的都是参数多的调用参数少的.有参数的调用无参数的居e68a843231313335323631343130323136353331333365643537多. 当然你要无参调用的参的 ...
- java 设置日期的格式_java设置日期格式
{ System.out.println("格式正确"); } else { System.out.println("格式错误"); } } } 一.简单的日期 ...
- 随机数在java 自旋锁的运用_Java 中自旋锁的实现
Java中初始是使用mutex互斥锁,因为互斥锁是会线程等待挂起,而对获取锁后的操作时间比较短暂的应用场景来说,这样的锁会让竞争锁的线程不停的park,unpark 的操作,这样的系统的调用性能是非常 ...
- java 基本类型的引用_Java中的基本数据类型与引用数据类型
一.基本数据类型 byte.short.int.long(整数类型) float.double(浮点数类型) char(字符型) boolean(布尔类型 ) Java数据大多数存放在堆栈中.栈区:存 ...
- java原始类型和引用类型_Java中的8种原始类型
java原始类型和引用类型 几年前,当我开始编辑Java Basics系列时,我认为将一些非常详细的信息拉到自己的帖子中是很有意义的. 这样,初学者的内容就更容易消化了. 首先,我将介绍有关Java的 ...
- java中缓冲区和缓存_Java中的Google协议缓冲区
java中缓冲区和缓存 总览 协议缓冲区是一种用于结构化数据的开源编码机制. 它是由Google开发的,旨在实现语言/平台中立且可扩展. 在本文中,我的目的是介绍Java平台上下文中协议缓冲区的基本用 ...
最新文章
- flash_erase and flash_eraseall
- 自学it18大数据笔记-第三阶段Scala-day06——会持续更新……
- 错误 1093 You can't specify target table 'table name' for update in FROM clause
- Hybris Commerce的 Master Tenant和Netweaver的System Client
- Linux SSH Publickey登录
- AngularJS之高级Route【三】(八)
- Vue 开发环境显示log信息
- 工作方式~使用寄存的实现方式~
- HEXO+Github,搭建属于自己的博客
- 2nd scrum站立会议
- JavaScript:监听网站离开更改title
- asp.net mvc 2.0 TryValidateModel(Object)方法
- 10分钟入门Shell脚本编程
- 论计算机维护论文,论计算机装与维护毕业论文.docx
- AutoIt-v3的安装,和robotframework-autoitlibrary的导入
- 史沐凡的python笔记之时间转换datetime模块的练习
- SpringCloud的@Value注解及GitLab配置使用
- Android 开发艺术探索——第十章 Android的消息机制
- STM32Cube工程转为Keil工程的方法介绍
- PAT (Basic Level) 1027 打印沙漏 (20 point(s))
热门文章
- yum 安装、 rpm安装、 源码编译安装
- ubuntu 最新提权漏洞_Ubuntu和Debian最新的KDE安全漏洞,附-修复指南
- css的id和class场景,CSS Id 和 Class选择器
- c 创建mysql实体模型_ADO.Net实体数据模型添加DB-First/Code First报错
- python时间格式转换format_【参考】Python日期时间转换与格式化
- mysql没有开启binlog能恢复数据吗_【数据库】一个 rm -rf 把公司整个数据库删没了
- php 图片裁剪保存,PHP图片裁剪与缩放示例(无损裁剪图片)
- 关于linux内核版本说法,关于Linux内核版本的说法,以下错误的是( )
- form请求导出表格_程序员:java导出Excel,附带依赖、后端代码和前端JS
- MySQL(20)-----数据库设计的常规步骤