Java 如何查找当月最后一天的天数(整数)
我有具体的日期,我想找到本月最后一天的数字。我使用以下代码,但总是返回当前日期Java 如何查找当月最后一天的天数(整数),java,date,Java,Date,我有具体的日期,我想找到本月最后一天的数字。我使用以下代码,但总是返回当前日期 DateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Date date = (Date) sdf.parse(year+"-"+(month<10?("0"+month):month)+"-01"); Calendar calendar = Calendar.getInstance(); calendar.setTime
DateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date date = (Date) sdf.parse(year+"-"+(month<10?("0"+month):month)+"-01");
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.add(Calendar.MONTH, 1);
calendar.set(Calendar.DAY_OF_MONTH, 1);
calendar.add(Calendar.DATE, -1);
Date dt = (Date) calendar.getTime(); -> dt is return current date always
示例:我的日期=2018/04/30,我想找到30
我在现场找不到答案
Thnx您可以使用日历,如下所示:
calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
或者,如果你有乔达,通常哪一个更好:
DateTime d = new DateTame(dt);
d.dayOfMonth().getMaximumValue();
您可以使用日历,如下所示:
calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
或者,如果你有乔达,通常哪一个更好:
DateTime d = new DateTame(dt);
d.dayOfMonth().getMaximumValue();
有具体的日期,我想找到本月最后一天的数字
这就是你要找的
Calendar cal = Calendar.getInstance();
cal.setTime(parsedDate);
cal.getActualMaximum(Calendar.DAY_OF_MONTH);
有具体的日期,我想找到本月最后一天的数字
这就是你要找的
Calendar cal = Calendar.getInstance();
cal.setTime(parsedDate);
cal.getActualMaximum(Calendar.DAY_OF_MONTH);
首先,你如何利用这一年 使用Java Time LocalDate应该很简单:
import java.time.*;
import static java.time.Month.*;
import static java.time.temporal.TemporalAdjusters.*;
import static java.time.temporal.ChronoField.*;
int lastDay = LocalDate.now() // or whatever date you want
.with(Month.of(yourMonth))
.with(lastDayOfMonth())
.get(DAY_OF_MONTH);
// or, if you have year and month, and want to find the corresponding last day
int lastDay = LocalDate.of(yourYear, yourMonth, 1)
.with(lastDayOfMonth())
.get(DAY_OF_MONTH);
首先,你如何利用这一年 使用Java Time LocalDate应该很简单:
import java.time.*;
import static java.time.Month.*;
import static java.time.temporal.TemporalAdjusters.*;
import static java.time.temporal.ChronoField.*;
int lastDay = LocalDate.now() // or whatever date you want
.with(Month.of(yourMonth))
.with(lastDayOfMonth())
.get(DAY_OF_MONTH);
// or, if you have year and month, and want to find the corresponding last day
int lastDay = LocalDate.of(yourYear, yourMonth, 1)
.with(lastDayOfMonth())
.get(DAY_OF_MONTH);
如果使用Java8或更高版本,请不要使用日历。如果使用java 6或7,您可能需要考虑使用。无论哪种情况,都可以使用Java时间API 使用Java时间 因为输入是int year和int month,所以使用 要查找月份的最后一天号码,请致电 要在月底获取日期,请致电 演示 输出 29 2020-02-29 利用乔达时间 如果您没有Java 8,并且已经在使用,请按以下方式操作: 演示 输出 29 2020-02-29 使用日历 如果您坚持使用日历,请按照其他答案中的说明致电 因为输入是int year和int month,所以不要构建和解析字符串,直接设置日历字段即可。请注意,日历中的月份是以零为基础的 演示 输出 29 2020-02-29
如果使用Java8或更高版本,请不要使用日历。如果使用java 6或7,您可能需要考虑使用。无论哪种情况,都可以使用Java时间API 使用Java时间 因为输入是int year和int month,所以使用 要查找月份的最后一天号码,请致电 要在月底获取日期,请致电 演示 输出 29 2020-02-29 利用乔达时间 如果您没有Java 8,并且已经在使用,请按以下方式操作: 演示 输出 29 2020-02-29 使用日历 如果您坚持使用日历,请按照其他答案中的说明致电 因为输入是int year和int month,所以不要构建和解析字符串,直接设置日历字段即可。请注意,日历中的月份是以零为基础的 演示 输出 29 2020-02-29
如何返回月的最后一天?我也使用了此代码。但是给了我当前日期的月份。@ScaryWombat没错,我没有立即注意到最后一天的要求。如何返回月份的最后一天?我也使用了此代码。但给了我当前日期的月日。@ScaryWombat是的,我没有立即注意到最后一天的要求。可能的重复我无法重现您的问题。2018年4月30日星期一00:00:00 CEST。calendar.getCalendar.DAY\u OF_MONTH给了我30。我无法重现您的问题。2018年4月30日星期一00:00:00 CEST。calendar.getCalendar.DAY\u OF_MONTH给我30。获取每月的第一天,并回滚一天您应该编辑答案并添加该文本,而不是将其作为注释保留。然后删除评论。获取每月的第一天,并回滚一天您应该编辑答案并添加该文本,而不是将其保留为评论。然后删除注释。您应该使用YearMonth类。看。没错,在这种情况下,YearMonth实际上更好。我在编写解决方案时考虑了解析输入日期…:P我仍然更喜欢这种方式,而不是在任何时候使用日历。日历早已过时,设计也很糟糕。同意YearMonth是进一步的小改进+给你们两个一个。@OleV.V。彼此彼此。对于任何我控制的项目,我只考虑使用java时间java8+或JoDa/310后端Java7或更早。Date可能是我将使用的唯一遗留类。根本没有理由使用Calendar,您应该使用YearMonth类。看。没错,在这种情况下,YearMonth实际上更好。我在编写解决方案时考虑了解析输入日期…:P我仍然更喜欢这种方式,而不是在任何时候使用日历。日历早已过时,设计也很糟糕。同意YearMonth是进一步的小改进+给你们两个一个。@OleV.V。彼此彼此。对于任何我控制的项目,我只考虑使用java时间java8+或JoDa/310后端Java7或更早。Date可能是我将使用的唯一遗留类。根本没有理由使用日历