java 代码如何获取当前时间的上一个月的月末时间..
例如今天2014-02-2019:21:46得到要的结果是2014-01-3100:00:00求代码~~或者sql查询语句统计user表中当前时间上一个月低之前的数据条数...
例如今天2014-02-20 19:21:46 得到要的结果是 2014-01-31 00:00:00
求代码~~
或者 sql 查询语句 统计user表中 当前时间上一个月低之前的数据条数。 展开
求代码~~
或者 sql 查询语句 统计user表中 当前时间上一个月低之前的数据条数。 展开
2个回答
展开全部
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Calendar calendar = Calendar.getInstance();
Date now = calendar.getTime();
System.out.println(simpleDateFormat.format(now));
calendar.set(Calendar.MONTH, calendar.get(Calendar.MONTH) - 1);
calendar.set(Calendar.DATE, calendar.getMaximum(Calendar.DATE));
calendar.set(Calendar.HOUR, -12);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
Date date = calendar.getTime();
System.out.println(simpleDateFormat.format(date));
输出:
2014-02-20 19:40:40
2014-01-31 00:00:00
Calendar calendar = Calendar.getInstance();
Date now = calendar.getTime();
System.out.println(simpleDateFormat.format(now));
calendar.set(Calendar.MONTH, calendar.get(Calendar.MONTH) - 1);
calendar.set(Calendar.DATE, calendar.getMaximum(Calendar.DATE));
calendar.set(Calendar.HOUR, -12);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
Date date = calendar.getTime();
System.out.println(simpleDateFormat.format(date));
输出:
2014-02-20 19:40:40
2014-01-31 00:00:00
追问
这样写有点问题,最后输出结果为 2014-01-30 00:00:00 一月应该31天的
追答
我这输出的是01-31,应该是calendar.set(Calendar.HOUR, -12);的问题,在你那换成+12试试看
展开全部
public class Test1 {
public static void main(String[] args) {
// java 代码如何获取当前时间的上一个月的月末时间..
Calendar cal = Calendar.getInstance();
// 设置天数为-1天,表示当月减一天即为上一个月的月末时间
cal.set(Calendar.DAY_OF_MONTH, -1);
//格式化输出年月日
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd 00:00:00");
System.out.println(sdf.format(cal.getTime()));
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询