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表中 当前时间上一个月低之前的数据条数。
展开
 我来答
植星科技
推荐于2018-02-28
知道答主
回答量:5
采纳率:0%
帮助的人:5.3万
展开全部
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
追问
这样写有点问题,最后输出结果为 2014-01-30 00:00:00 一月应该31天的
追答
我这输出的是01-31,应该是calendar.set(Calendar.HOUR, -12);的问题,在你那换成+12试试看
楚立诚B
推荐于2016-06-17 · TA获得超过1.2万个赞
知道小有建树答主
回答量:461
采纳率:0%
帮助的人:135万
展开全部
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())); 
    }
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式