时间转换工具类

  1 package com.ryd.stocktrader.monitor.util;
  2 
  3 import java.sql.Timestamp;
  4 import java.text.DateFormat;
  5 import java.text.ParseException;
  6 import java.text.SimpleDateFormat;
  7 import java.util.Calendar;
  8 import java.util.Date;
  9 
 10 /**
 11  * Created by Administrator on 2016/7/27.
 12  */
 13 public class GetDayTime {
 14     //当天零点时间戳
 15     public static Long getDayBegin() {
 16         Calendar cal = Calendar.getInstance();
 17         cal.set(Calendar.HOUR_OF_DAY, 0);
 18         cal.set(Calendar.SECOND, 0);
 19         cal.set(Calendar.MINUTE, 0);
 20         cal.set(Calendar.MILLISECOND, 001);
 21         long time = new Timestamp(cal.getTimeInMillis()).getTime();
 22         return  time;
 23     }
 24 
 25     public static Long getDayEnd() {
 26        long time =  GetDayTime.getDayBegin() + 86400000;
 27        return  time;
 28     }
 29     //string 转 Unix时间戳
 30     public static Long stringToUnixT(String time){
 31         SimpleDateFormat simpleDateFormat =new SimpleDateFormat("yyyy-MM-dd");
 32         Date date= null;
 33         try {
 34             date = simpleDateFormat.parse(time);
 35         } catch (ParseException e) {
 36             e.printStackTrace();
 37         }
 38         long timeStemp = date.getTime();
 39         return timeStemp;
 40     }
 41     //string 转 Unix时间戳  (结束时间的24点)
 42     public static Long stringToUnixTEnd(String time){
 43         SimpleDateFormat simpleDateFormat =new SimpleDateFormat("yyyy-MM-dd");
 44         Date date= null;
 45         try {
 46             date = simpleDateFormat.parse(time);
 47         } catch (ParseException e) {
 48             e.printStackTrace();
 49         }
 50         long timeStemp = date.getTime() + 86400000;
 51         return timeStemp;
 52     }
 53     //当前日期
 54     public static String nowDay(){
 55         DateFormat d1 = DateFormat.getDateInstance();
 56         Date now = new Date();
 57         System.out.println(d1.format(now));
 58         return d1.format(now);
 59     }
 60     //一周前的日期
 61     public static String SevenDay(){
 62         Date date = new Date();
 63         int year=Integer.parseInt(new SimpleDateFormat("yyyy").format(date));
 64         int month=Integer.parseInt(new SimpleDateFormat("MM").format(date));
 65         int day=Integer.parseInt(new SimpleDateFormat("dd").format(date))-6;
 66 
 67         if(day<1){
 68             month-=1;
 69             if(month==0){
 70                 year-=1;month=12;
 71             }
 72             if(month==4||month==6||month==9||month==11){
 73                 day=30+day;
 74             }else if(month==1||month==3||month==5||month==7||month==8||month==10||month==12)
 75             {
 76                 day=31+day;
 77             }else if(month==2){
 78                 if(year%400==0||(year %4==0&&year%100!=0))day=29+day;
 79                 else day=28+day;
 80             }
 81         }
 82         String y = year+"";String m ="";String d ="";
 83         if(month<10) m = "0"+month;
 84         else m=month+"";
 85         if(day<10) d = "0"+day;
 86         else d = day+"";
 87 
 88         return y+"-"+m+"-"+d;
 89     }
 90     //七天前的Unix时间戳
 91     public static long SevenDayToUnixT(){
 92         SimpleDateFormat simpleDateFormat =new SimpleDateFormat("yyyy-MM-dd");
 93         Date date= null;
 94         try {
 95             date = simpleDateFormat.parse(SevenDay());
 96         } catch (ParseException e) {
 97             e.printStackTrace();
 98         }
 99         long timeStemp = date.getTime();
100         return timeStemp;
101     }
102     public static String lastMonth(){
103         int allMonth = 1;       //allMonth为相差月份
104         Date date = new Date();
105         int year=Integer.parseInt(new SimpleDateFormat("yyyy").format(date));
106         int month=Integer.parseInt(new SimpleDateFormat("MM").format(date))-allMonth;
107         int day=Integer.parseInt(new SimpleDateFormat("dd").format(date));
108         if(month <= 0){
109             int yearFlag = (month*(-1))/12 + 1;
110             int monthFlag = (month *(-1))%12;
111             year -= yearFlag;
112             month=monthFlag*(-1) +12;
113         }
114         else if(day>28){
115             if(month==2){
116                 if(year%400==0||(year %4==0&&year%100!=0)){
117                     day=29;
118                 }else day=28;
119             }else if((month==4||month==6||month==9||month==11)&&day==31){
120                 day=30;
121             }
122         }
123         String y = year+"";String m ="";String d ="";
124         if(month<10) m = "0"+month;
125         else m=month+"";
126         if(day<10) d = "0"+day;
127         else d = day+"";
128 
129         return y+"-"+m+"-"+d;
130     }
131     //当天11:30:00的时间戳  
132     public static long cusTimeBefor(){
133         SimpleDateFormat dateFormat=new SimpleDateFormat("yyyy-MM-dd");
134         Date now=new Date();
135         String dStr = dateFormat.format(now)+" 11:30:00";
136         SimpleDateFormat dateFormat1=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
137         long time = 0;
138         try {
139             time = dateFormat1.parse(dStr).getTime();
140         } catch (ParseException e) {
141             e.printStackTrace();
142         }
143         return time;
144     }
145   //当天13:00:00的时间戳  
146     public static long cusTimelast(){
147         SimpleDateFormat dateFormat=new SimpleDateFormat("yyyy-MM-dd");
148         Date now=new Date();
149         String dStr = dateFormat.format(now)+" 13:00:00";
150         SimpleDateFormat dateFormat1=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
151         long time = 0;
152         try {
153             time = dateFormat1.parse(dStr).getTime();
154         } catch (ParseException e) {
155             e.printStackTrace();
156         }
157         return time;
158     }
159     public static void main(String args []){
160         System.out.println(lastMonth());
161     }
162 }
原文地址:https://www.cnblogs.com/lzy1991/p/5715256.html