java获取指定时间

1、上代码

  1 package com.hynn.gajq.service.user;
  2 
  3 import java.sql.Timestamp;
  4 import java.text.ParseException;
  5 import java.text.SimpleDateFormat;
  6 import java.util.Calendar;
  7 import java.util.Date;
  8 import java.util.TimeZone;
  9 
 10 import org.apache.commons.lang3.time.DateUtils;
 11 
 12 public class test {
 13 
 14     public static void main(String[] args) {
 15         // TODO Auto-generated method stub
 16         Long time = System.currentTimeMillis(); // 当前时间的时间戳
 17         long zero = time / (1000 * 3600 * 24) * (1000 * 3600 * 24) - TimeZone.getDefault().getRawOffset();// 今天零点零分零秒的毫秒数
 18         long twelve = zero + 24 * 60 * 60 * 1000 - 1;// 今天23点59分59秒的毫秒数
 19         System.out.println("今天零点零分零秒:" + new Timestamp(zero));// 今天零点零分零秒
 20         System.out.println("今天23点59分59秒:" + new Timestamp(twelve));// 今天23点59分59秒
 21         System.out.println("======================================");
 22     }
 23 
 24     /**
 25      * 获取上周一00:00:00
 26      * 
 27      * @return
 28      * @throws ParseException
 29      */
 30     public static long getMonday() throws ParseException {
 31         Date date = new Date();
 32         Date a = DateUtils.addDays(date, -1);
 33         Calendar cal = Calendar.getInstance();
 34         cal.setTime(a);
 35         cal.add(Calendar.WEEK_OF_YEAR, -1);// 一周
 36         cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
 37         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
 38         SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
 39         String dateStr = sdf.format(cal.getTime());//
 40         Date parse = sdf2.parse(dateStr + " 00:00:00");
 41         System.out.println(parse.getTime());// 上周一零点毫秒数
 42         return parse.getTime();
 43     }
 44 
 45     /**
 46      * 本月或上月第一天00:00:00 flag=1--本月 flag=2--上月 getFirstDay()
 47      * 
 48      * @param flag
 49      * @return
 50      */
 51     public static String getFirstDay(Integer flag) {
 52         Calendar c = Calendar.getInstance();
 53         if (flag == 1) {
 54             c.add(Calendar.MONTH, 0); // 获取当前月第一天
 55         } else if (flag == 2) {
 56             c.add(Calendar.MONTH, -1); // 获取上月第一天
 57         }
 58         c.set(Calendar.DAY_OF_MONTH, 1); // 设置为1号,当前日期既为本月第一天
 59         c.set(Calendar.HOUR_OF_DAY, 0); // 将小时至0
 60         c.set(Calendar.MINUTE, 0); // 将分钟至0
 61         c.set(Calendar.SECOND, 0); // 将秒至0
 62         c.set(Calendar.MILLISECOND, 0); // 将毫秒至0
 63         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
 64         return sdf.format(c.getTime());
 65     }
 66 
 67     /**
 68      * 本月或上月最后一天23:59:59 flag=1--本月 flag=2--上月 getLastDay()
 69      * 
 70      * @param flag
 71      * @return
 72      */
 73     public static String getLastDay(Integer flag) {
 74         Calendar ca = Calendar.getInstance();
 75         if (flag == 1) {
 76             ca.set(Calendar.DAY_OF_MONTH, ca.getActualMaximum(Calendar.DAY_OF_MONTH)); // 获取当前月最后一天
 77         } else if (flag == 2) {
 78             ca.set(Calendar.DAY_OF_MONTH, 0); // 获取上月最后一天
 79         }
 80         ca.set(Calendar.HOUR_OF_DAY, 23); // 将小时至23
 81         ca.set(Calendar.MINUTE, 59); // 将分钟至59
 82         ca.set(Calendar.SECOND, 59); // 将秒至59
 83         ca.set(Calendar.MILLISECOND, 59); // 将毫秒至59
 84         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
 85         return sdf.format(ca.getTime());
 86     }
 87 
 88     /**
 89      * 时间戳转换日期
 90      * 
 91      * @param stamp
 92      * @return
 93      */
 94     public String stampToTime(String stamp) {
 95         String sd = "";
 96         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
 97         sd = sdf.format(new Date(Long.parseLong(stamp))); // 时间戳转换日期
 98         return sd;
 99     }
100 
101     /**
102      * 日期转换为时间戳
103      * 
104      * @param timers
105      * @return
106      */
107     public long timeToStamp(String timers) {
108         Date d = new Date();
109         long timeStemp = 0;
110         try {
111             SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
112             d = sf.parse(timers);// 日期转换为时间戳
113         } catch (ParseException e) {
114             e.printStackTrace();
115         }
116         timeStemp = d.getTime();
117         System.out.println(timeStemp);
118         return timeStemp;
119     }
120 
121 }
View Code

 

posted @ 2019-10-17 11:33  拼搏进取吧  阅读(2301)  评论(0编辑  收藏  举报