我想获得一天的数量..即1月1日是第1天1月2日是2月1日是第32天而12月31日是第365天或366,取决于闰年或不
我已经使用了所有类型的技术,如date1 - date2等......但似乎没有任何东西对我来说不能正确的逻辑可能是...我想要的是计算并添加已经过去的月数加上运行月份的天数即今天是2012年9月21日是天数(31(jan)+29(feb)+31(mar)+30(apr)+31(可能)+30(6月)+31(7月) +31(8月)+20(9月))=第264天他们每天都会继续添加加1 ...谢谢
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);
Run Code Online (Sandbox Code Playgroud)
numberofDaysPassed给了我160,不受欢迎的结果
Ily*_*lya 36
Calendar calendar = Calendar.getInstance();
int dayOfYear = calendar.get(Calendar.DAY_OF_YEAR);
Run Code Online (Sandbox Code Playgroud)
或者使用Joda-API
DateTime dt = new DateTime();
int dayOfYear = dt.getDayOfYear();
Run Code Online (Sandbox Code Playgroud)
如果需要'th'
部分,请使用switch语句
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;
}
Run Code Online (Sandbox Code Playgroud)
小智 6
LocalDate
使用LocalDate
Java 8及更高版本中内置的java.time包中的类。
获取一年中的某天:
int dayOfYear = LocalDate.now().getDayOfYear();
Run Code Online (Sandbox Code Playgroud)
…并设定年度日期:
LocalDate localDate = LocalDate.now().withDayOfYear( 195 );
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
44316 次 |
最近记录: |