zoukankan      html  css  js  c++  java
  • Java获取月份第一天和最后一天日期

    package test;

    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Calendar;
    import java.util.Date;
    import java.util.GregorianCalendar;
    import java.util.HashMap;
    import java.util.Map;

    public class Test {

        /**
         * @param args
         * @throws ParseException
         */
        public static void main(String[] args) throws ParseException {
            SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
            String str = "2012-05-02";
            Date date = df.parse(str);
            Map<String, String> map = getFirstday_Lastday_Month(date);
            System.out.println("当月第一天:" + getFirstDay());
            System.out.println("当月最后一天:" + getLastDay());
            
            System.out.println("一个月前第一天:" + map.get("first"));
            System.out.println("一个月前最后一天:" + map.get("last"));
        }

        /**
         * 某一个月第一天和最后一天
         * @param date
         * @return
         */
        private static Map<String, String> getFirstday_Lastday_Month(Date date) {
            SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
            Calendar calendar = Calendar.getInstance();
            calendar.setTime(date);
            calendar.add(Calendar.MONTH, -1);
            Date theDate = calendar.getTime();
            
            //上个月第一天
            GregorianCalendar gcLast = (GregorianCalendar) Calendar.getInstance();
            gcLast.setTime(theDate);
            gcLast.set(Calendar.DAY_OF_MONTH, 1);
            String day_first = df.format(gcLast.getTime());
            StringBuffer str = new StringBuffer().append(day_first).append(" 00:00:00");
            day_first = str.toString();

            //上个月最后一天
            calendar.add(Calendar.MONTH, 1);    //加一个月
            calendar.set(Calendar.DATE, 1);        //设置为该月第一天
            calendar.add(Calendar.DATE, -1);    //再减一天即为上个月最后一天
            String day_last = df.format(calendar.getTime());
            StringBuffer endStr = new StringBuffer().append(day_last).append(" 23:59:59");
            day_last = endStr.toString();

            Map<String, String> map = new HashMap<String, String>();
            map.put("first", day_first);
            map.put("last", day_last);
            return map;
        }

        /**
         * 当月第一天
         * @return
         */
        private static String getFirstDay() {
            SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
            Calendar calendar = Calendar.getInstance();
            Date theDate = calendar.getTime();
            
            GregorianCalendar gcLast = (GregorianCalendar) Calendar.getInstance();
            gcLast.setTime(theDate);
            gcLast.set(Calendar.DAY_OF_MONTH, 1);
            String day_first = df.format(gcLast.getTime());
            StringBuffer str = new StringBuffer().append(day_first).append(" 00:00:00");
            return str.toString();

        }
        
        /**
         * 当月最后一天
         * @return
         */
        private static String getLastDay() {
            SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
            Calendar calendar = Calendar.getInstance();
            Date theDate = calendar.getTime();
            String s = df.format(theDate);
            StringBuffer str = new StringBuffer().append(s).append(" 23:59:59");
            return str.toString();

        }

    }

  • 相关阅读:
    泛型
    HDU 4917 Permutation
    OC本学习笔记Foundation框架NSString与NSMutableString
    HDU 5095 Linearization of the kernel functions in SVM(模拟)
    大约Java有点感悟---开发商根本上感悟学习
    Codeforces 442B Andrey and Problem(贪婪)
    mysql数据库优化课程---15、mysql优化步骤(mysql中最常用最立竿见影的优化是什么)
    mysql数据库优化课程---14、常用的sql技巧
    mysql数据库优化课程---13、mysql基础操作(mysql如何复制表)
    mysql数据库优化课程---12、mysql嵌套和链接查询(查询user表中存在的所有班级的信息?)
  • 原文地址:https://www.cnblogs.com/zmc/p/3072717.html
Copyright © 2011-2022 走看看