今天是今年的第n天 [英] Today is nth day of year
问题描述
我想天数,即..
1月1日为1天
1月2日都是2个工作日
2月1日为32天和12月31日为365白天或366取决于闰年
我已经使用各种技术,如DATE1 - DATE2等..
但似乎没有任何工作,我不能得到正确的逻辑可能是..我要的是数量和添加已经过去的月份数加上正在运行的一个月,即数天的今天2012年9月21日是天数( 31(月)+29(2月)+31(MAR)+30(APR)+31(5月)+30(6月)+31(7月)+31(8月)+20(九月))=第264天,他们将继续增加加一,每次一天晃过...谢谢
我的code
年整型= Calendar.getInstance()获得(Calendar.YEAR)。
GregorianCalendar的GC =新的GregorianCalendar();
gc.set(GregorianCalendar.DAY_OF_MONTH,8);
gc.set(GregorianCalendar.MONTH,GregorianCalendar.JUNE);
gc.set(GregorianCalendar.YEAR,年);
INT numberofDaysPassed = gc.get(GregorianCalendar.DAY_OF_YEAR);
numberofDaysPassed是给我160,令人失望的结果。
日历日历= Calendar.getInstance();
INT DAYOFYEAR = calendar.get(Calendar.DAY_OF_YEAR);
或使用乔达-API
DateTime的DT =新的DateTime();
INT DAYOFYEAR = dt.getDayOfYear();
如果您需要'日'
部分,使用switch语句
开关(DAYOFYEAR→20(DAYOFYEAR%10):DAYOFYEAR){
案例1:返回DAYOFYEAR +ST;
打破;
案例2:返回DAYOFYEAR +ND;
打破;
案例3:返回DAYOFYEAR +RD;
打破;
默认:回归DAYOFYEAR +日;
打破;
}
I want to get the number of day.. i.e. Jan 1 is day 1 jan 2 is day 2 Feb 1 is day 32 and december 31 is day 365 or 366 depending on leap year or not
i have used all kind of techniques such as date1 - date2 etc... but nothing seems to work for me cant get the logic right may be.. what i want is count and add the number of the months that has gone past plus the number days of the running month i.e today is 21st Sept 2012 is day number (31(jan)+29(feb)+31(mar)+30(apr)+31(may)+30(june)+31(july)+31(aug)+20(sept)) = 264th day and they will keep adding plus one every time a day go past... thanks
mycode
int year = Calendar.getInstance().get(Calendar.YEAR);
GregorianCalendar gc = new GregorianCalendar();
gc.set(GregorianCalendar.DAY_OF_MONTH, 8);
gc.set(GregorianCalendar.MONTH, GregorianCalendar.JUNE);
gc.set(GregorianCalendar.YEAR, year);
int numberofDaysPassed=gc.get(GregorianCalendar.DAY_OF_YEAR);
numberofDaysPassed is giving me 160, undesired result
Calendar calendar = Calendar.getInstance();
int dayOfYear = calendar.get(Calendar.DAY_OF_YEAR);
Or using Joda-API
DateTime dt = new DateTime();
int dayOfYear = dt.getDayOfYear();
If you need 'th'
part, use switch statement
switch (dayOfYear > 20 ? (dayOfYear % 10) : dayOfYear) {
case 1: return dayOfYear + "st";
break;
case 2: return dayOfYear + "nd";
break;
case 3: return dayOfYear + "rd";
break;
default: return dayOfYear + "th";
break;
}
这篇关于今天是今年的第n天的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!