zoukankan      html  css  js  c++  java
  • java日期格式转换工具类

    原文地址:http://blog.csdn.net/zhiweianran/article/details/7991531

    package com.ace.backoffice.utils;
    
    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;
        }
    }

     

  • 相关阅读:
    XStream
    Tomcat权威指南-读书摘要系列2
    《人性的弱点》
    HttpClient
    Spring整合Mybatis
    Tomcat权威指南-读书摘要系列1
    MT【88】抽象函数
    MT【87】迭代画图
    MT【86】两个绝对值之和最大
    MT【85】正整数系数
  • 原文地址:https://www.cnblogs.com/zouhao/p/3309304.html
Copyright © 2011-2022 走看看