随笔:给定一个日期:yyyy-mm-dd,求出给定日期的下一天日期并输出
2012-10-20 20:39
309 查看
为了准备itat,不得不把往年java的复赛题搜出来做做,今天做了第六届复赛题的A,B卷,总体感觉不难,看有人在问B卷的最后一道题的答案,现在将我的代码公布如下,希望有人可以帮忙找下bug,代码只是完成其要求的功能而已,没有做细节方面的异常处理!
题目是:编程实现输入格式为"yyyy-mm-dd"的字符串,获得一个给定的日期,计算此日期的下一天的日期并输出,程序验证的时候,要考虑任何日期是月底、年底、闰年的情况。
题目是:编程实现输入格式为"yyyy-mm-dd"的字符串,获得一个给定的日期,计算此日期的下一天的日期并输出,程序验证的时候,要考虑任何日期是月底、年底、闰年的情况。
import java.util.Calendar; import java.util.GregorianCalendar; public class GetNextDayDemo { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Calendar ca=new GregorianCalendar(); int ye=ca.get(Calendar.YEAR); int mo=ca.get(Calendar.MONTH)+1; int da=ca.get(Calendar.DAY_OF_MONTH); String date=ye+"-"+mo+"-"+da; String[] dateArray=date.split("-"); Integer year=Integer.valueOf(dateArray[0]); Integer month=Integer.valueOf(dateArray[1]); Integer day=Integer.valueOf(dateArray[2]); String nextDay=getNextDay(year,month,day); System.out.println("The next day is:"+nextDay); } public static String getNextDay(int year,int month,int day){ //超过了当月的最大日期 if((day+1)>getDaysInMonth(year,month)){ if(month==12){ return (year+1)+"-01-01"; } else{ return year+"-"+(month+1)+"-01"; } } else{ return year+"-"+month+"-"+(day+1); } } //通过年份和月份,确定对应的月份一共有多少天 public static int getDaysInMonth(int year,int month){ int days=0; if(month==1||month==3||month==5||month==7||month==8||month==10||month==12){ days=31; } else if(month==2){ if(isBissextile(year))days=29; else days=28; }else{ days=30; } return days; } public static boolean isBissextile(int year){ if((year%4==0&&year%100!=0)||(year%400==0))return true; return false; } }
相关文章推荐
- 给定一个日期,输出这个日期是该年的第几天。输入数据有多组,每组占一行,数据格式为 YYYY/MM/DD组成,具体参见sample input ,另外,可以向你确保所有的输入数据是合法的。
- 黑马程序员 测试题:编写程序,该程序启动后用户可以按“yyyy-MM-dd”的格式输入一个日期,程序计算这一天是星期几,并且计算出是一年中的第几天
- 编写程序,该程序启动后用户可以按“yyyy-MM-dd”的格式输入一个日期,程序计算这一天是星期几,并且计算出是一年中的第几天
- 黑马程序员---------------------编写程序,该程序启动后用户可以按“yyyy-MM-dd”的格式输入一个日期, * 程序计算这一天是星期几,并且计算出是一年中的第几天
- 黑马程序员—编写程序,该程序启动后用户可以按“yyyy-MM-dd”的格式输入一个日期, *程序计算这一天是星期几,并且计算出是一年中的第几天。 */
- java怎么把一个string个日期类型 如“Fri Feb 01 00:00:00 GMT+08:00 2013”转换成“yyyy-mm-dd”
- java 传入一个日期yyyy-mm-dd得到这个日期一周的日期
- JS时间(一个日期返回周日与周六、yyyy-mm-dd转Date、Date yyyy-dd-mm)
- 已知一个日期,yyyy-MM-dd格式,从当前日期倒推num天,返回这一日期集合
- Java判断给定日期哪个大,哪个小;日期类型:YYYY-MM-DD
- 系统会随机给你一个日期(yyyy-MM-dd)字符串,你需要计算这个时间上一个月的最后一天的具体日期,最后以yyyy年MM月dd日的字符形式返回
- 日期格式yyyy-MM-dd和YYYY-MM-dd有什么区别?
- js中将数字格式的日期化为yyyy-MM-dd样式
- 日期查询:把easyUI的日期格式转成yyyy-MM-dd格式
- SQL获取系统当前时间按“mm/dd/yyyy”格式输出
- DateTime.Now.ToString("yyyy/MM/dd") 输出的结果是 2006-03-16
- JS验证类似"YYYY-MM-DD"格式的日期输入
- yyyy-MM-dd 转换成 日期
- 将日期转换为yyyy/MM/dd格式
- js日期转换Fri Oct 31 18:00:00 UTC+0800 2008转换为yyyy-mm-dd