zoukankan      html  css  js  c++  java
  • java日期操作的工具类时间格式的转换

    package cn.itcast.oa.util;

    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Calendar;
    import java.util.Date;

    import javax.xml.datatype.DatatypeConfigurationException;
    import javax.xml.datatype.DatatypeFactory;
    import javax.xml.datatype.XMLGregorianCalendar;

    public class DateUtils {
    /**
    * 将指定字符串转换成日期
    *
    * @param date
    * String 日期字符串
    * @param datePattern
    * String 日期格式
    * @return Date
    */
    public static java.util.Date getFormatDate(String date, String datePattern) {
    SimpleDateFormat sd = new SimpleDateFormat(datePattern);
    return sd.parse(date, new java.text.ParsePosition(0));
    }


    /**
    * 将指定日期对象转换成格式化字符串
    *
    * @param date
    * Date XML日期对象
    * @param datePattern
    * String 日期格式
    * @return String
    */
    public static String getFormattedString(Date date, String datePattern) {
    SimpleDateFormat sd = new SimpleDateFormat(datePattern);

    return sd.format(date);
    }

    /**
    * 将指定XML日期对象转换成格式化字符串
    *
    * @param xmlDate
    * Date XML日期对象
    * @param datePattern
    * String 日期格式
    * @return String
    */
    public static String getFormattedString(XMLGregorianCalendar xmlDate,
    String datePattern) {
    SimpleDateFormat sd = new SimpleDateFormat(datePattern);

    Calendar calendar = xmlDate.toGregorianCalendar();

    return sd.format(calendar.getTime());
    }

    /**
    * 将指定XML日期对象转换成日期对象
    *
    * @param xmlDate
    * Date XML日期对象
    * @param datePattern
    * String 日期格式
    * @return Date
    */
    public static Date xmlGregorianCalendar2Date(XMLGregorianCalendar xmlDate) {
    return xmlDate.toGregorianCalendar().getTime();
    }

    public static String getThisYear() {
    // 获得当前日期
    Calendar cldCurrent = Calendar.getInstance();
    // 获得年月日
    String strYear = String.valueOf(cldCurrent.get(Calendar.YEAR));
    return strYear;
    }

    public static XMLGregorianCalendar convert2XMLCalendar(Calendar calendar) {
    try {
    DatatypeFactory dtf = DatatypeFactory.newInstance();
    return dtf.newXMLGregorianCalendar(
    calendar.get(Calendar.YEAR),
    calendar.get(Calendar.MONTH)+1,
    calendar.get(Calendar.DAY_OF_MONTH),
    calendar.get(Calendar.HOUR),
    calendar.get(Calendar.MINUTE),
    calendar.get(Calendar.SECOND),
    calendar.get(Calendar.MILLISECOND),
    calendar.get(Calendar.ZONE_OFFSET)/(1000*60));

    } catch (DatatypeConfigurationException e) {
    e.printStackTrace();
    return null;
    }
    }

    // 获取当天时间
    public static java.sql.Timestamp getNowTime(String dateformat) {
    Date now = new Date();
    SimpleDateFormat dateFormat = new SimpleDateFormat(dateformat);// 可以方便地修改日期格式
    String dateString = dateFormat.format(now);
    SimpleDateFormat sd = new SimpleDateFormat(dateformat);
    Date dateFormt = sd.parse(dateString, new java.text.ParsePosition(0));
    java.sql.Timestamp dateTime = new java.sql.Timestamp(dateFormt
    .getTime());

    return dateTime;
    // return hehe;
    }

    // 获取指定时间
    public static java.sql.Timestamp getNowNewTime(String date,String dateformat){
    //Date now = new Date();
    SimpleDateFormat dateFormat = new SimpleDateFormat(dateformat);//可以方便地修改日期格式
    dateFormat.parse(date, new java.text.ParsePosition(0));

    // String dateString= dateFormat.format(date);
    Date dateFormt= dateFormat.parse(date, new java.text.ParsePosition(0));
    java.sql.Timestamp dateTime = new java.sql.Timestamp(dateFormt.getTime());


    return dateTime;
    // return hehe;
    }
    /**
    * @param 含有yyyy-MM-dd'T'hh:mm:ss.SSS格式的时间转换.
    * @return
    */
    public static String getTFormatString(String tdate) {
    SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS");
    String str ="";
    try {
    java.util.Date date = format1.parse(tdate);
    SimpleDateFormat format2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    str = format2.format(date);
    } catch (ParseException e) {
    e.printStackTrace();
    }
    return str;
    }

    public static void main(String[] args) {
    SimpleDateFormat sd = new SimpleDateFormat("yyyyMMdd");
    String date = "20110202";
    System.out.println(sd.parse(date, new java.text.ParsePosition(0)));
    System.out.println(getBefore2HourDate());
    }
    //获取当前时间前2个小时的时间。
    public static String getBefore2HourDate(){
    SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
    Calendar c = Calendar.getInstance();
    c.add(Calendar.HOUR_OF_DAY, -2); // 目前時間加3小時
    return df.format(c.getTime());

    }

    /**
    *
    * @param time1 当前时间
    * @param time2 比较时间
    * @return 如果time1比time2大gap分钟,则返回true;
    */
    public static boolean compareDateTime(Date time1, Date time2, int gap) {
    return time1.getTime() - time2.getTime() > gap * 60 * 1000;
    }
    }

  • 相关阅读:
    C# 直接选择排序(史上最清晰,最通俗)
    Hadoop单节点伪分布式环境部署
    Hive安装和部署andMySQL安装和部署
    Kafka集群部署
    HA Hadoop完全分布式环境部署
    HBase集群部署
    Flume整合Kafka
    Hadoop完全分布式环境部署
    JavaScript正则表达式语法
    什么无线路由器性价高?买什么路由器好?
  • 原文地址:https://www.cnblogs.com/rxingyue/p/4087218.html
Copyright © 2011-2022 走看看