国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

java獲取Date時間的各種方式匯總

2019-11-26 14:46:05
字體:
來源:轉載
供稿:網友

java獲取Date時間的各種方式為大家分享如下

常用的時間獲取方式

public class DateUtils {  /**   * 獲取時間戳   * 輸出結果:1438692801766   */  @Test  public void getTimeStamp() {    Date date = new Date();    long times = date.getTime();    System.out.println(times);    //第二種方法:    new Date().getTime();  }  /**   * 獲取格式化的時間   * 輸出格式:2015-08-04 20:55:35   */  @Test  public void getFormatDate(){    Date date = new Date();    long times = date.getTime();//時間戳    SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");    String dateString = formatter.format(date);    System.out.println(dateString);  }  /**   * 將時間戳轉化為標準時間   * 輸出:Tue Oct 07 12:04:36 CST 2014   */  @Test  public void timestampToDate(){    long times = 1412654676572L;    Date date = new Date(times);    System.out.println(date);  }}

其他的獲取時間的方式

package com.qunar.date;import java.text.ParseException;import java.text.ParsePosition;import java.text.SimpleDateFormat;import java.util.*;/** * Created by liugen.xu on 2015/8/4. */public class DateGenerate {  /**   * 獲取現在時間   *   * @return 返回時間類型 yyyy-MM-dd HH:mm:ss   */  public static Date getNowDate() {    Date currentTime = new Date();    SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");    String dateString = formatter.format(currentTime);    ParsePosition pos = new ParsePosition(8);    Date currentTime_2 = formatter.parse(dateString, pos);    return currentTime_2;  }  /**   * 獲取現在時間   *   * @return返回短時間格式 yyyy-MM-dd   */  public static Date getNowDateShort() {    Date currentTime = new Date();    SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");    String dateString = formatter.format(currentTime);    ParsePosition pos = new ParsePosition(8);    Date currentTime_2 = formatter.parse(dateString, pos);    return currentTime_2;  }  /**   * 獲取現在時間   *   * @return返回字符串格式 yyyy-MM-dd HH:mm:ss   */  public static String getStringDate() {    Date currentTime = new Date();    SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");    String dateString = formatter.format(currentTime);    return dateString;  }  /**   * 獲取現在時間   *   * @return 返回短時間字符串格式yyyy-MM-dd   */  public static String getStringDateShort() {    Date currentTime = new Date();    SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");    String dateString = formatter.format(currentTime);    return dateString;  }  /**   * 獲取時間 小時:分;秒 HH:mm:ss   *   * @return   */  public static String getTimeShort() {    SimpleDateFormat formatter = new SimpleDateFormat("HH:mm:ss");    Date currentTime = new Date();    String dateString = formatter.format(currentTime);    return dateString;  }  /**   * 將長時間格式字符串轉換為時間 yyyy-MM-dd HH:mm:ss   *   * @param strDate   * @return   */  public static Date strToDateLong(String strDate) {    SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");    ParsePosition pos = new ParsePosition(0);    Date strtodate = formatter.parse(strDate, pos);    return strtodate;  }  /**   * 將長時間格式時間轉換為字符串 yyyy-MM-dd HH:mm:ss   *   * @param dateDate   * @return   */  public static String dateToStrLong(java.util.Date dateDate) {    SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");    String dateString = formatter.format(dateDate);    return dateString;  }  /**   * 將短時間格式時間轉換為字符串 yyyy-MM-dd   *   * @param dateDate   * @return   */  public static String dateToStr(java.util.Date dateDate) {    SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");    String dateString = formatter.format(dateDate);    return dateString;  }  /**   * 將短時間格式字符串轉換為時間 yyyy-MM-dd   *   * @param strDate   * @return   */  public static Date strToDate(String strDate) {    SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");    ParsePosition pos = new ParsePosition(0);    Date strtodate = formatter.parse(strDate, pos);    return strtodate;  }  /**   * 得到現在時間   *   * @return   */  public static Date getNow() {    Date currentTime = new Date();    return currentTime;  }  /**   * 提取一個月中的最后一天   *   * @param day   * @return   */  public static Date getLastDate(long day) {    Date date = new Date();    long date_3_hm = date.getTime() - 3600000 * 34 * day;    Date date_3_hm_date = new Date(date_3_hm);    return date_3_hm_date;  }  /**   * 得到現在時間   *   * @return 字符串 yyyyMMdd HHmmss   */  public static String getStringToday() {    Date currentTime = new Date();    SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMdd HHmmss");    String dateString = formatter.format(currentTime);    return dateString;  }  /**   * 得到現在小時   */  public static String getHour() {    Date currentTime = new Date();    SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");    String dateString = formatter.format(currentTime);    String hour;    hour = dateString.substring(11, 13);    return hour;  }  /**   * 得到現在分鐘   *   * @return   */  public static String getTime() {    Date currentTime = new Date();    SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");    String dateString = formatter.format(currentTime);    String min;    min = dateString.substring(14, 16);    return min;  }  /**   * 根據用戶傳入的時間表示格式,返回當前時間的格式 如果是yyyyMMdd,注意字母y不能大寫。   *   * @param sformat yyyyMMddhhmmss   * @return   */  public static String getUserDate(String sformat) {    Date currentTime = new Date();    SimpleDateFormat formatter = new SimpleDateFormat(sformat);    String dateString = formatter.format(currentTime);    return dateString;  }  /**   * 二個小時時間間的差值,必須保證二個時間都是"HH:MM"的格式,返回字符型的分鐘   */  public static String getTwoHour(String st1, String st2) {    String[] kk = null;    String[] jj = null;    kk = st1.split(":");    jj = st2.split(":");    if (Integer.parseInt(kk[0]) < Integer.parseInt(jj[0]))      return "0";    else {      double y = Double.parseDouble(kk[0]) + Double.parseDouble(kk[1]) / 60;      double u = Double.parseDouble(jj[0]) + Double.parseDouble(jj[1]) / 60;      if ((y - u) > 0)        return y - u + "";      else        return "0";    }  }  /**   * 得到二個日期間的間隔天數   */  public static String getTwoDay(String sj1, String sj2) {    SimpleDateFormat myFormatter = new SimpleDateFormat("yyyy-MM-dd");    long day = 0;    try {      java.util.Date date = myFormatter.parse(sj1);      java.util.Date mydate = myFormatter.parse(sj2);      day = (date.getTime() - mydate.getTime()) / (24 * 60 * 60 * 1000);    } catch (Exception e) {      return "";    }    return day + "";  }  /**   * 時間前推或后推分鐘,其中JJ表示分鐘.   */  public static String getPreTime(String sj1, String jj) {    SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");    String mydate1 = "";    try {      Date date1 = format.parse(sj1);      long Time = (date1.getTime() / 1000) + Integer.parseInt(jj) * 60;      date1.setTime(Time * 1000);      mydate1 = format.format(date1);    } catch (Exception e) {    }    return mydate1;  }  /**   * 得到一個時間延后或前移幾天的時間,nowdate為時間,delay為前移或后延的天數   */  public static String getNextDay(String nowdate, String delay) {    try {      SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");      String mdate = "";      Date d = strToDate(nowdate);      long myTime = (d.getTime() / 1000) + Integer.parseInt(delay) * 24 * 60 * 60;      d.setTime(myTime * 1000);      mdate = format.format(d);      return mdate;    } catch (Exception e) {      return "";    }  }  /**   * 判斷是否潤年   *   * @param ddate   * @return   */  public static boolean isLeapYear(String ddate) {    /**     * 詳細設計: 1.被400整除是閏年,否則: 2.不能被4整除則不是閏年 3.能被4整除同時不能被100整除則是閏年     * 3.能被4整除同時能被100整除則不是閏年     */    Date d = strToDate(ddate);    GregorianCalendar gc = (GregorianCalendar) Calendar.getInstance();    gc.setTime(d);    int year = gc.get(Calendar.YEAR);    if ((year % 400) == 0)      return true;    else if ((year % 4) == 0) {      if ((year % 100) == 0)        return false;      else        return true;    } else      return false;  }  /**   * 返回美國時間格式 26 Apr 2006   *   * @param str   * @return   */  public static String getEDate(String str) {    SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");    ParsePosition pos = new ParsePosition(0);    Date strtodate = formatter.parse(str, pos);    String j = strtodate.toString();    String[] k = j.split(" ");    return k[2] + k[1].toUpperCase() + k[5].substring(2, 4);  }  /**   * 獲取一個月的最后一天   *   * @param dat   * @return   */  public static String getEndDateOfMonth(String dat) {// yyyy-MM-dd    String str = dat.substring(0, 8);    String month = dat.substring(5, 7);    int mon = Integer.parseInt(month);    if (mon == 1 || mon == 3 || mon == 5 || mon == 7 || mon == 8 || mon == 10 || mon == 12) {      str += "31";    } else if (mon == 4 || mon == 6 || mon == 9 || mon == 11) {      str += "30";    } else {      if (isLeapYear(dat)) {        str += "29";      } else {        str += "28";      }    }    return str;  }  /**   * 判斷二個時間是否在同一個周   *   * @param date1   * @param date2   * @return   */  public static boolean isSameWeekDates(Date date1, Date date2) {    Calendar cal1 = Calendar.getInstance();    Calendar cal2 = Calendar.getInstance();    cal1.setTime(date1);    cal2.setTime(date2);    int subYear = cal1.get(Calendar.YEAR) - cal2.get(Calendar.YEAR);    if (0 == subYear) {      if (cal1.get(Calendar.WEEK_OF_YEAR) == cal2.get(Calendar.WEEK_OF_YEAR))        return true;    } else if (1 == subYear && 11 == cal2.get(Calendar.MONTH)) {      // 如果12月的最后一周橫跨來年第一周的話則最后一周即算做來年的第一周      if (cal1.get(Calendar.WEEK_OF_YEAR) == cal2.get(Calendar.WEEK_OF_YEAR))        return true;    } else if (-1 == subYear && 11 == cal1.get(Calendar.MONTH)) {      if (cal1.get(Calendar.WEEK_OF_YEAR) == cal2.get(Calendar.WEEK_OF_YEAR))        return true;    }    return false;  }  /**   * 產生周序列,即得到當前時間所在的年度是第幾周   *   * @return   */  public static String getSeqWeek() {    Calendar c = Calendar.getInstance(Locale.CHINA);    String week = Integer.toString(c.get(Calendar.WEEK_OF_YEAR));    if (week.length() == 1)      week = "0" + week;    String year = Integer.toString(c.get(Calendar.YEAR));    return year + week;  }  /**   * 獲得一個日期所在的周的星期幾的日期,如要找出2002年2月3日所在周的星期一是幾號   *   * @param sdate   * @param num   * @return   */  public static String getWeek(String sdate, String num) {    // 再轉換為時間    Date dd = DateGenerate.strToDate(sdate);    Calendar c = Calendar.getInstance();    c.setTime(dd);    if (num.equals("1")) // 返回星期一所在的日期      c.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);    else if (num.equals("2")) // 返回星期二所在的日期      c.set(Calendar.DAY_OF_WEEK, Calendar.TUESDAY);    else if (num.equals("3")) // 返回星期三所在的日期      c.set(Calendar.DAY_OF_WEEK, Calendar.WEDNESDAY);    else if (num.equals("4")) // 返回星期四所在的日期      c.set(Calendar.DAY_OF_WEEK, Calendar.THURSDAY);    else if (num.equals("5")) // 返回星期五所在的日期      c.set(Calendar.DAY_OF_WEEK, Calendar.FRIDAY);    else if (num.equals("6")) // 返回星期六所在的日期      c.set(Calendar.DAY_OF_WEEK, Calendar.SATURDAY);    else if (num.equals("0")) // 返回星期日所在的日期      c.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);    return new SimpleDateFormat("yyyy-MM-dd").format(c.getTime());  }  /**   * 根據一個日期,返回是星期幾的字符串   *   * @param sdate   * @return   */  public static String getWeek(String sdate) {    // 再轉換為時間    Date date = DateGenerate.strToDate(sdate);    Calendar c = Calendar.getInstance();    c.setTime(date);    // int hour=c.get(Calendar.DAY_OF_WEEK);    // hour中存的就是星期幾了,其范圍 1~7    // 1=星期日 7=星期六,其他類推    return new SimpleDateFormat("EEEE").format(c.getTime());  }  public static String getWeekStr(String sdate) {    String str = "";    str = DateGenerate.getWeek(sdate);    if ("1".equals(str)) {      str = "星期日";    } else if ("2".equals(str)) {      str = "星期一";    } else if ("3".equals(str)) {      str = "星期二";    } else if ("4".equals(str)) {      str = "星期三";    } else if ("5".equals(str)) {      str = "星期四";    } else if ("6".equals(str)) {      str = "星期五";    } else if ("7".equals(str)) {      str = "星期六";    }    return str;  }  /**   * 兩個時間之間的天數   *   * @param date1   * @param date2   * @return   */  public static long getDays(String date1, String date2) {    if (date1 == null || date1.equals(""))      return 0;    if (date2 == null || date2.equals(""))      return 0;    // 轉換為標準時間    SimpleDateFormat myFormatter = new SimpleDateFormat("yyyy-MM-dd");    java.util.Date date = null;    java.util.Date mydate = null;    try {      date = myFormatter.parse(date1);      mydate = myFormatter.parse(date2);    } catch (Exception e) {    }    long day = (date.getTime() - mydate.getTime()) / (24 * 60 * 60 * 1000);    return day;  }  /**   * 形成如下的日歷 , 根據傳入的一個時間返回一個結構 星期日 星期一 星期二 星期三 星期四 星期五 星期六 下面是當月的各個時間   * 此函數返回該日歷第一行星期日所在的日期   *   * @param sdate   * @return   */  public static String getNowMonth(String sdate) {    // 取該時間所在月的一號    sdate = sdate.substring(0, 8) + "01";    // 得到這個月的1號是星期幾    Date date = DateGenerate.strToDate(sdate);    Calendar c = Calendar.getInstance();    c.setTime(date);    int u = c.get(Calendar.DAY_OF_WEEK);    String newday = DateGenerate.getNextDay(sdate, (1 - u) + "");    return newday;  }  /**   * 取得數據庫主鍵 生成格式為yyyymmddhhmmss+k位隨機數   *   * @param k 表示是取幾位隨機數,可以自己定   */  public static String getNo(int k) {    return getUserDate("yyyyMMddhhmmss") + getRandom(k);  }  /**   * 返回一個隨機數   *   * @param i   * @return   */  public static String getRandom(int i) {    Random jjj = new Random();    // int suiJiShu = jjj.nextInt(9);    if (i == 0)      return "";    String jj = "";    for (int k = 0; k < i; k++) {      jj = jj + jjj.nextInt(9);    }    return jj;  }  /**   */  public static boolean RightDate(String date) {    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");    ;    if (date == null)      return false;    if (date.length() > 10) {      sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");    } else {      sdf = new SimpleDateFormat("yyyy-MM-dd");    }    try {      sdf.parse(date);    } catch (ParseException pe) {      return false;    }    return true;  }  /**   * ************************************************************************   * //nd=1表示返回的值中包含年度 //yf=1表示返回的值中包含月份 //rq=1表示返回的值中包含日期 //format表示返回的格式 1   * 以年月日中文返回 2 以橫線-返回 // 3 以斜線/返回 4 以縮寫不帶其它符號形式返回 // 5 以點號.返回   * ************************************************************************   */  public static String getStringDateMonth(String sdate, String nd, String yf, String rq, String format) {    Date currentTime = new Date();    SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");    String dateString = formatter.format(currentTime);    String s_nd = dateString.substring(0, 4); // 年份    String s_yf = dateString.substring(5, 7); // 月份    String s_rq = dateString.substring(8, 10); // 日期    String sreturn = "";    roc.util.MyChar mc = new roc.util.MyChar();    if (sdate == null || sdate.equals("") || !mc.Isdate(sdate)) { // 處理空值情況      if (nd.equals("1")) {        sreturn = s_nd;        // 處理間隔符        if (format.equals("1"))          sreturn = sreturn + "年";        else if (format.equals("2"))          sreturn = sreturn + "-";        else if (format.equals("3"))          sreturn = sreturn + "/";        else if (format.equals("5"))          sreturn = sreturn + ".";      }      // 處理月份      if (yf.equals("1")) {        sreturn = sreturn + s_yf;        if (format.equals("1"))          sreturn = sreturn + "月";        else if (format.equals("2"))          sreturn = sreturn + "-";        else if (format.equals("3"))          sreturn = sreturn + "/";        else if (format.equals("5"))          sreturn = sreturn + ".";      }      // 處理日期      if (rq.equals("1")) {        sreturn = sreturn + s_rq;        if (format.equals("1"))          sreturn = sreturn + "日";      }    } else {      // 不是空值,也是一個合法的日期值,則先將其轉換為標準的時間格式      sdate = roc.util.RocDate.getOKDate(sdate);      s_nd = sdate.substring(0, 4); // 年份      s_yf = sdate.substring(5, 7); // 月份      s_rq = sdate.substring(8, 10); // 日期      if (nd.equals("1")) {        sreturn = s_nd;        // 處理間隔符        if (format.equals("1"))          sreturn = sreturn + "年";        else if (format.equals("2"))          sreturn = sreturn + "-";        else if (format.equals("3"))          sreturn = sreturn + "/";        else if (format.equals("5"))          sreturn = sreturn + ".";      }      // 處理月份      if (yf.equals("1")) {        sreturn = sreturn + s_yf;        if (format.equals("1"))          sreturn = sreturn + "月";        else if (format.equals("2"))          sreturn = sreturn + "-";        else if (format.equals("3"))          sreturn = sreturn + "/";        else if (format.equals("5"))          sreturn = sreturn + ".";      }      // 處理日期      if (rq.equals("1")) {        sreturn = sreturn + s_rq;        if (format.equals("1"))          sreturn = sreturn + "日";      }    }    return sreturn;  }  public static String getNextMonthDay(String sdate, int m) {    sdate = getOKDate(sdate);    int year = Integer.parseInt(sdate.substring(0, 4));    int month = Integer.parseInt(sdate.substring(5, 7));    month = month + m;    if (month < 0) {      month = month + 12;      year = year - 1;    } else if (month > 12) {      month = month - 12;      year = year + 1;    }    String smonth = "";    if (month < 10)      smonth = "0" + month;    else      smonth = "" + month;    return year + "-" + smonth + "-10";  }  public static String getOKDate(String sdate) {    if (sdate == null || sdate.equals(""))      return getStringDateShort();    if (!VeStr.Isdate(sdate)) {      sdate = getStringDateShort();    }    // 將“/”轉換為“-”    sdate = VeStr.Replace(sdate, "/", "-");    // 如果只有8位長度,則要進行轉換    if (sdate.length() == 8)      sdate = sdate.substring(0, 4) + "-" + sdate.substring(4, 6) + "-" + sdate.substring(6, 8);    SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");    ParsePosition pos = new ParsePosition(0);    Date strtodate = formatter.parse(sdate, pos);    String dateString = formatter.format(strtodate);    return dateString;  }  public static void main(String[] args) throws Exception {    try {      //System.out.print(Integer.valueOf(getTwoDay("2006-11-03 12:22:10", "2006-11-02 11:22:09")));    } catch (Exception e) {      throw new Exception();    }    //System.out.println("sss");  }}

小編對java獲取Date時間的方式有了基本的掌握,你吶?

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 丽水市| 海口市| 策勒县| 全州县| 贵州省| 施甸县| 阳曲县| 灵山县| 彝良县| 江达县| 华坪县| 宜章县| 册亨县| 惠州市| 廉江市| 岑溪市| 淮北市| 东辽县| 荔浦县| 定西市| 昭平县| 铁岭县| 商都县| 龙山县| 临沧市| 雷波县| 广河县| 东乡族自治县| 福建省| 犍为县| 团风县| 象山县| 文山县| 垦利县| 七台河市| 凤山市| 平阳县| 锦州市| 湛江市| 广州市| 莱芜市|