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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM