首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java中日期的加减法

Java中日期的加减法
EN

Stack Overflow用户
提问于 2012-04-12 06:16:14
回答 8查看 25K关注 0票数 9

如何在java中添加或减去日期?例如,java.sql.Date和格式如下:yyyy,我如何从那增加5个月?我在一些教程中看到他们正在使用Calendar,我们能在上面设置日期吗?请帮帮忙。

例:2012-01-01加5个月后就会变成2012-06-01

PS:我是一个.Net程序员,正在慢慢地学习Java环境。

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2012-04-12 06:19:19

首先,您必须将String日期转换为java.util.Date,而不是使用java.util.Calendar操作日期。用millis做数学也是可能的,但我不建议这样做。

代码语言:javascript
复制
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
}
票数 14
EN

Stack Overflow用户

发布于 2012-04-12 06:21:25

避免使用内置的日期类来计算日期。看看JodaTime,它为这类事情提供了一个更好的API。

票数 4
EN

Stack Overflow用户

发布于 2012-04-12 06:18:14

使用Calendar

代码语言:javascript
复制
Calendar cal = Calendar.getInstance();
cal.add(Calendar.MONTH, 5);
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10118327

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档