【发布时间】:2014-01-27 20:35:14
【问题描述】:
我将如何制作一个程序来打印从 2013 年 6 月 1 日开始的几天后的日期? 任何帮助表示赞赏
示例:如果输入 45,则应输出 2013 年 7 月 16 日
如果这很重要,我会使用 ReadyToPrgram
【问题讨论】:
-
您可以完全使用 JDK 类来做到这一点。看看
Calendar类和SimpleDateFormat类。
我将如何制作一个程序来打印从 2013 年 6 月 1 日开始的几天后的日期? 任何帮助表示赞赏
示例:如果输入 45,则应输出 2013 年 7 月 16 日
如果这很重要,我会使用 ReadyToPrgram
【问题讨论】:
Calendar 类和SimpleDateFormat 类。
Here 是一个不错的教程
SimpleDateFormat sdf = new SimpleDateFormat("yyyy MMM dd");
Calendar calendar = new GregorianCalendar(2013,7,1);
System.out.println("Date : " + sdf.format(calendar.getTime()));
//add one month
calendar.add(Calendar.MONTH, 1);
System.out.println("Date : " + sdf.format(calendar.getTime()));
【讨论】:
这将使任何日期恰好增加一
String untildate="2013-07-16";//can take any date in current format
SimpleDateFormat dateFormat = new SimpleDateFormat( "yyyy-MM-dd" );
Calendar cal = Calendar.getInstance();
cal.setTime( dateFormat.parse(untildate));
cal.add( Calendar.DATE, 1 );
String convertedDate=dateFormat.format(cal.getTime());
System.out.println("Date increase by one.."+convertedDate);
【讨论】:
您可以使用与 Java 捆绑在一起的 java.util.Date 和 java.util.Calendar 类。但它们是出了名的麻烦。
多年来,Joda-Time 第三方开源库一直是流行的替代品。
如果您确定只需要日期,没有时间和时区,请使用 Joda-Time 的 LocalDate 类。例子……
LocalDate localDate = new LocalDate( 2013, 6, 1 ).plusDays( 45 );
System.out.println( "localDate " + localDate );
搜索 StackOverflow.com。这些基本的日期和时间问题已被提出并得到解答。
【讨论】: