zoukankan      html  css  js  c++  java
  • java时间格式大全

     /**
      * 获取现在时间
      *
      *
    @return 返回时间类型 yyyy-MM-dd HH:mm:ss
     
    */

    publicstatic 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
     
    */

    publicstatic 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
     
    */

    publicstatic 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
     
    */

    publicstatic String getStringDateShort() {
      Date currentTime
    =new Date();
      SimpleDateFormat formatter
    =new SimpleDateFormat("yyyy-MM-dd");
      String dateString
    = formatter.format(currentTime);
     
    return dateString;
    }


    /**
      * 获取时间 小时:分;秒 HH:mm:ss
      *
      *
    @return
     
    */

    publicstatic 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
     
    */

    publicstatic 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
     
    */

    publicstatic 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
      *
    @param k
      *
    @return
     
    */

    publicstatic 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
     
    */

    publicstatic 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
     
    */

    publicstatic Date getNow() {
      Date currentTime
    =new Date();
     
    return currentTime;
    }


    /**
      * 提取一个月中的最后一天
      *
      *
    @param day
      *
    @return
     
    */

    publicstatic 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
     
    */

    publicstatic String getStringToday() {
      Date currentTime
    =new Date();
      SimpleDateFormat formatter
    =new SimpleDateFormat("yyyyMMdd HHmmss");
      String dateString
    = formatter.format(currentTime);
     
    return dateString;
    }


    /**
      * 得到现在小时
     
    */

    publicstatic 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
     
    */

    publicstatic 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
     
    */

    publicstatic String getUserDate(String sformat) {
      Date currentTime
    =new Date();
      SimpleDateFormat formatter
    =new SimpleDateFormat(sformat);
      String dateString
    = formatter.format(currentTime);
     
    return dateString;
    }


    /**
      * 二个小时时间间的差值,必须保证二个时间都是"HH:MM"的格式,返回字符型的分钟
     
    */

    publicstatic 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";
      }

    }


    /**
      * 得到二个日期间的间隔天数
     
    */

    publicstatic 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表示分钟.
     
    */

    publicstatic 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为前移或后延的天数
     
    */

    publicstatic 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
     
    */

    publicstaticboolean 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)
      
    returntrue;
     
    elseif ((year %4) ==0) {
      
    if ((year %100) ==0)
       
    returnfalse;
      
    else
       
    returntrue;
      }
    else
      
    returnfalse;
    }


    /**
      * 返回美国时间格式 26 Apr 2006
      *
      *
    @param str
      *
    @return
     
    */

    publicstatic 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
     
    */

    publicstatic 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";
      }
    elseif (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
     
    */

    publicstaticboolean 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))
       
    returntrue;
      }
    elseif (1== subYear &&11== cal2.get(Calendar.MONTH)) {
      
    // 如果12月的最后一周横跨来年第一周的话则最后一周即算做来年的第一周
       if (cal1.get(Calendar.WEEK_OF_YEAR) == cal2.get(Calendar.WEEK_OF_YEAR))
       
    returntrue;
      }
    elseif (-1== subYear &&11== cal1.get(Calendar.MONTH)) {
      
    if (cal1.get(Calendar.WEEK_OF_YEAR) == cal2.get(Calendar.WEEK_OF_YEAR))
       
    returntrue;
      }

     
    returnfalse;
    }


    /**
      * 产生周序列,即得到当前时间所在的年度是第几周
      *
      *
    @return
     
    */

    publicstatic 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
     
    */

    publicstatic String getWeek(String sdate, String num) {
     
    // 再转换为时间
      Date dd = VeDate.strToDate(sdate);
      Calendar c
    = Calendar.getInstance();
      c.setTime(dd);
     
    if (num.equals("1")) // 返回星期一所在的日期
       c.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
     
    elseif (num.equals("2")) // 返回星期二所在的日期
       c.set(Calendar.DAY_OF_WEEK, Calendar.TUESDAY);
     
    elseif (num.equals("3")) // 返回星期三所在的日期
       c.set(Calendar.DAY_OF_WEEK, Calendar.WEDNESDAY);
     
    elseif (num.equals("4")) // 返回星期四所在的日期
       c.set(Calendar.DAY_OF_WEEK, Calendar.THURSDAY);
     
    elseif (num.equals("5")) // 返回星期五所在的日期
       c.set(Calendar.DAY_OF_WEEK, Calendar.FRIDAY);
     
    elseif (num.equals("6")) // 返回星期六所在的日期
       c.set(Calendar.DAY_OF_WEEK, Calendar.SATURDAY);
     
    elseif (num.equals("0")) // 返回星期日所在的日期
       c.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);
     
    returnnew SimpleDateFormat("yyyy-MM-dd").format(c.getTime());
    }


    /**
      * 根据一个日期,返回是星期几的字符串
      *
      *
    @param sdate
      *
    @return
     
    */

    publicstatic String getWeek(String sdate) {
     
    // 再转换为时间
      Date date = VeDate.strToDate(sdate);
      Calendar c
    = Calendar.getInstance();
      c.setTime(date);
     
    // int hour=c.get(Calendar.DAY_OF_WEEK);
     
    // hour中存的就是星期几了,其范围 1~7
     
    // 1=星期日 7=星期六,其他类推
      returnnew SimpleDateFormat("EEEE").format(c.getTime());
    }

    publicstatic String getWeekStr(String sdate){
      String str
    ="";
      str
    = VeDate.getWeek(sdate);
     
    if("1".equals(str)){
       str
    ="星期日";
      }
    elseif("2".equals(str)){
       str
    ="星期一";
      }
    elseif("3".equals(str)){
       str
    ="星期二";
      }
    elseif("4".equals(str)){
       str
    ="星期三";
      }
    elseif("5".equals(str)){
       str
    ="星期四";
      }
    elseif("6".equals(str)){
       str
    ="星期五";
      }
    elseif("7".equals(str)){
       str
    ="星期六";
      }

     
    return str;
    }


    /**
      * 两个时间之间的天数
      *
      *
    @param date1
      *
    @param date2
      *
    @return
     
    */

    publicstaticlong getDays(String date1, String date2) {
     
    if (date1 ==null|| date1.equals(""))
      
    return0;
     
    if (date2 ==null|| date2.equals(""))
      
    return0;
     
    // 转换为标准时间
      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
     
    */

    publicstatic String getNowMonth(String sdate) {
     
    // 取该时间所在月的一号
      sdate = sdate.substring(0, 8) +"01";

     
    // 得到这个月的1号是星期几
      Date date = VeDate.strToDate(sdate);
      Calendar c
    = Calendar.getInstance();
      c.setTime(date);
     
    int u = c.get(Calendar.DAY_OF_WEEK);
      String newday
    = VeDate.getNextDay(sdate, (1- u) +"");
     
    return newday;
    }


    /**
      * 取得数据库主键 生成格式为yyyymmddhhmmss+k位随机数
      *
      *
    @param k
      *            表示是取几位随机数,可以自己定
     
    */


    publicstatic String getNo(int k) {

     
    return getUserDate("yyyyMMddhhmmss") + getRandom(k);
    }


    /**
      * 返回一个随机数
      *
      *
    @param i
      *
    @return
     
    */

    publicstatic 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;
    }


    /**
      *
      *
    @param args
     
    */

    publicstaticboolean RightDate(String date) {

      SimpleDateFormat sdf
    =new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
      ;
     
    if (date ==null)
      
    returnfalse;
     
    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) {
      
    returnfalse;
      }

     
    returntrue;
    }


    /***************************************************************************
      * //nd=1表示返回的值中包含年度 //yf=1表示返回的值中包含月份 //rq=1表示返回的值中包含日期 //format表示返回的格式 1
      * 以年月日中文返回 2 以横线-返回 // 3 以斜线/返回 4 以缩写不带其它符号形式返回 // 5 以点号.返回
      *************************************************************************
    */

    publicstatic 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 +"";
       
    elseif (format.equals("2"))
         sreturn
    = sreturn +"-";
       
    elseif (format.equals("3"))
         sreturn
    = sreturn +"/";
       
    elseif (format.equals("5"))
         sreturn
    = sreturn +".";
       }

      
    // 处理月份
       if (yf.equals("1")) {
        sreturn
    = sreturn + s_yf;
       
    if (format.equals("1"))
         sreturn
    = sreturn +"";
       
    elseif (format.equals("2"))
         sreturn
    = sreturn +"-";
       
    elseif (format.equals("3"))
         sreturn
    = sreturn +"/";
       
    elseif (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 +"";
       
    elseif (format.equals("2"))
         sreturn
    = sreturn +"-";
       
    elseif (format.equals("3"))
         sreturn
    = sreturn +"/";
       
    elseif (format.equals("5"))
         sreturn
    = sreturn +".";
       }

      
    // 处理月份
       if (yf.equals("1")) {
        sreturn
    = sreturn + s_yf;
       
    if (format.equals("1"))
         sreturn
    = sreturn +"";
       
    elseif (format.equals("2"))
         sreturn
    = sreturn +"-";
       
    elseif (format.equals("3"))
         sreturn
    = sreturn +"/";
       
    elseif (format.equals("5"))
         sreturn
    = sreturn +".";
       }

      
    // 处理日期
       if (rq.equals("1")) {
        sreturn
    = sreturn + s_rq;
       
    if (format.equals("1"))
         sreturn
    = sreturn +"";
       }

      }

     
    return sreturn;
    }


    publicstatic 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;
      }
    elseif (month >12) {
       month
    = month -12;
       year
    = year +1;
      }

      String smonth
    ="";
     
    if (month <10)
       smonth
    ="0"+ month;
     
    else
       smonth
    =""+ month;
     
    return year +"-"+ smonth +"-10";
    }


    publicstatic 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;
    }


    publicstaticvoid 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) {
      
    thrownew Exception();
      }

     
    //System.out.println("sss");
    }

  • 相关阅读:
    Yolo v3代码理解总结
    CRNN数据及标签
    Yolo V3整体实现思路流程详解!
    YOLO V3训练自己的数据集
    Yolo V3理解bbox和label的关系
    深度学习图像扩增
    YOLOv3 K-means获取anchors大小
    CTPN训练自己的数据集过程大白话记录
    浙大版《C语言程序设计(第3版)》题目集 练习4-11 统计素数并求和 (20 分)
    浙大版《C语言程序设计(第3版)》题目集 练习4-10 找出最小值 (20 分)
  • 原文地址:https://www.cnblogs.com/bingrong/p/3282513.html
Copyright © 2011-2022 走看看