如何在Java中查找当前月份长度?
这是我的Java代码查找当前月/日,我们在:如何在Java中查找当前月份长度?
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
public class GetCurrentDateTime {
private static final DateFormat sdf = new SimpleDateFormat("MM-dd");
public static void main(String[] args) {
Date date = new Date();
System.out.println(sdf.format(date));
}
}
我想这个代码到别的做一些事情。当代码找到我们所在的月份时,我也希望它找到月份的长度。结果应该是这样的:
08-16
31
你能帮我吗?谢谢。
你可以尝试这样的事情,但我认为,有可能是一个更好的办法:
Date date = new Date();
System.out.println(sdf.format(date));
Calendar c = Calendar.getInstance();
c.setTime(date);
System.out.println(c.getActualMaximum(Calendar.DAY_OF_MONTH));
输出是这样的:
08-16
31
编辑:
作为写在评论:
使用从罗勒YearMonth.now().lengthOfMonth()
解决方案,这是一个更好的方法比这
TL;博士
YearMonth.now()
.lengthOfMonth()
详细
避免在看到问题的麻烦旧日期时间类。现在由java.time类取代。
时区对确定今天的日期以及确定当前月份至关重要。对于任何特定的时刻,日期在全球各地按照地区而不同。
ZoneId z = ZoneId.of("America/Montreal") ;
YearMonth ym = YearMonth.now(z) ;
int daysInMonth = ym.lengthOfMonth() ;
也许是:
@Test
public void daysOfMonthTest() throws Exception {
Calendar mycal = new GregorianCalendar();
assertEquals(
31,
mycal.getActualMaximum(Calendar.DAY_OF_MONTH));
}
注:月是0(一月)到11(月)编号。
使用简单的Date对象:
Date date = new Date();
int month = date.getMonth() + 1;
int year = date.getYear()+1900;
System.out.print(month+"-"+year);
输出:
8-2017
使用日历对象:
Date date = new Date(); // your date
Calendar cal = Calendar.getInstance();
cal.setTime(date);
int year = cal.get(Calendar.YEAR);
int month = cal.get(Calendar.MONTH);
int day = cal.get(Calendar.DAY_OF_MONTH) + 1;
System.out.print(month+"-"+year);
System.out.print("Number of days: "+cal.getActualMaximum(Calendar.DAY_OF_MONTH));
输出:
8-2017
Number of days: 31
使用JodaTime:
DateTime dateTime = new DateTime();
System.out.print(dateTime.getMonthOfYear()+"-"+(dateTime.getYear()));
System.out.print("Number of days: "+ dateTime.dayOfMonth().getMaximumValue());
输出:
8-2017
Number of days: 31
这是如何显示当月的天数? –
@ScaryWombat更新,请检查 –
肯定。我们很乐意帮助你。但只有当我们看到你已经尽力解决这个问题。 –
@TAsk对于Stack Overflow的所有问题,这不是必需的。 –
可能重复[特定年份的特定月份的天数?](https://*.com/questions/8940438/number-of-days-in-particular-month-of-particular-year) – Lemonov