Android如何获取明天的date

在我的Android应用程序…我需要显示明天的date..例如今天是3月5日,所以我需要显示为3月6日..我知道得到今天的date,月份和年份的代码..

算计

GregorianCalendar gc = new GregorianCalendar(); yearat = gc.get(Calendar.YEAR); yearstr = Integer.toString(yearat); monthat = gc.get(Calendar.MONTH) + 1; monthstr = Integer.toString(monthat); dayat = gc.get(Calendar.DAY_OF_MONTH); daystr = Integer.toString(dayat); 

如果我给代码

 dayat = gc.get(Calendar.DAY_OF_MONTH) + 1; 

是显示明天的date..或只是加一个今天的date…例如,如果今天是1月31日..如果我给上述代码将显示为1或32.如果是显示32,什么改变我需要在代码中做…请帮助..

Related of "Android如何获取明天的date"

  1. 获取今天的date作为Calendar

  2. 加1天。

  3. 用于显示目的的格式。

例如,

 GregorianCalendar gc = new GregorianCalendar(); gc.add(Calendar.DATE, 1); // now do something with the calendar 

使用下面的代码来显示明天的date

 Calendar calendar = Calendar.getInstance(); Date today = calendar.getTime(); calendar.add(Calendar.DAY_OF_YEAR, 1); Date tomorrow = calendar.getTime(); 

使用SimpleDateFormat将date格式化为string:

 DateFormat dateFormat = new SimpleDateFormat("dd-MMM-yyyy"); String todayAsString = dateFormat.format(today); String tomorrowAsString = dateFormat.format(tomorrow); System.out.println(todayAsString); System.out.println(tomorrowAsString); 

打印:

 05-Mar-2014 06-Mar-2014 
 Calendar calendar = Calendar.getInstance(); Date today = calendar.getTime(); calendar.add(Calendar.DAY_OF_YEAR, 1); Date tomorrow = calendar.getTime(); 

java.util.Datejava.util.Calendar是可怕的工作。 我build议你使用具有更清洁/更好的API的JodaTime。 JodaTime现在是相当标准的。

http://www.joda.org/joda-time/#Why_Joda-Time

请注意,JDK 8将引入受JodaTime影响很大的新date/时间API。

您必须在日历日添加1。

 GregorianCalendar gc = new GregorianCalendar(); gc.add(Calendar.DATE, 1); 

第一个答案几乎涵盖了可能性。 但在这里可以从org.apache.commons.lang.time中使用另一个解决scheme:

 Date lTomorrow = DateUtils.addDays(new Date(), 1); 

其他选项:

 Calendar tomorrow = Calendar.getInstance(); tomorrow.roll(Calendar.DATE, true); 

要么

 tomorrow.roll(Calendar.DATE, 1); 

还可以通过传递一个负数来回滚,例如:

 Calendar yesterday = Calendar.getInstance(); yesterday.roll(Calendar.DATE, -1); 

java.util.Date和.Calendar类是非常麻烦的。 避免他们。 而是使用Joda-Time库或与Java 8捆绑的新java.time包 。

使用Joda-Time 2.3库的一些示例代码。

 DateTimeZone timeZone = DateTimeZone.forID( "Europe/Paris" ); DateTime now = new DateTime( timeZone ); DateTime tomorrow = now.plusDays( 1 ); String output = DateTimeFormat.forPattern( "FF" ).withLocale(Locale.FRANCE).print( tomorrow ); 

通过使用日历获取今天的date,然后添加1天。

像这样试试

 dayat = gc.add(Calendar.DATE, 1);