Java日期格式之间的相互转换实例介绍



Java日期格式之间的相互转换代码。在实际开发中经常会遇到需要转换日期的格式,以下为大家总结了java关于日期格式的程序代码,如:date类型转换为String类型,转换的string类型的时间格式,string类型转换为date类型,date类型转换为long类型等。

 

package com.hxhk.cc.util;

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

import com.lowagie.text.pdf.codec.postscript.ParseException;

public class DateUtil {

    /**
     * @param args
     * @throws java.text.ParseException 
     * @throws ParseException 
     */
    public static void main(String[] args) throws ParseException, java.text.ParseException {
        DateUtil du = new DateUtil();
        //String s = du.numToDate(1350144260, "yyyy-MM-dd hh:mm:ss");
        long time = du.stringToLong("2012-10-15 8:44:53", "yyyy-MM-dd hh:mm:ss")/1000;
        long time1 = du.stringToLong("2012-10-15 20:44:53", "yyyy-MM-dd hh:mm:ss")/1000;
        String date = du.longToString(1350470693,"yyyy-MM-dd hh:mm:ss" );
        System.out.println(time);
        System.out.println(time1);
        System.out.println(date);

    }
    // date类型转换为String类型
      // formatType格式为yyyy-MM-dd HH:mm:ss//yyyy年MM月dd日 HH时mm分ss秒
      // data Date类型的时间
      public static String dateToString(Date data, String formatType) {
      return new SimpleDateFormat(formatType).format(data);
      }

      // long类型转换为String类型
      // currentTime要转换的long类型的时间
      // formatType要转换的string类型的时间格式
      public static String longToString(long currentTime, String formatType)
      throws ParseException, java.text.ParseException {
      Date date = longToDate(currentTime, formatType); // long类型转成Date类型
      String strTime = dateToString(date, formatType); // date类型转成String
      return strTime;
      }

      // string类型转换为date类型
      // strTime要转换的string类型的时间,formatType要转换的格式yyyy-MM-dd HH:mm:ss//yyyy年MM月dd日
      // HH时mm分ss秒,
      // strTime的时间格式必须要与formatType的时间格式相同
      public static Date stringToDate(String strTime, String formatType)
      throws ParseException, java.text.ParseException {
      SimpleDateFormat formatter = new SimpleDateFormat(formatType);
      Date date = null;
      date = formatter.parse(strTime);
      return date;
      }

      // long转换为Date类型
      // currentTime要转换的long类型的时间
      // formatType要转换的时间格式yyyy-MM-dd HH:mm:ss//yyyy年MM月dd日 HH时mm分ss秒
      public static Date longToDate(long currentTime, String formatType)
      throws ParseException, java.text.ParseException {
      Date dateOld = new Date(currentTime); // 根据long类型的毫秒数生命一个date类型的时间
      String sDateTime = dateToString(dateOld, formatType); // 把date类型的时间转换为string
      Date date = stringToDate(sDateTime, formatType); // 把String类型转换为Date类型
      return date;
      }

      // string类型转换为long类型
      // strTime要转换的String类型的时间
      // formatType时间格式
      // strTime的时间格式和formatType的时间格式必须相同
      public static long stringToLong(String strTime, String formatType)
      throws ParseException, java.text.ParseException {
      Date date = stringToDate(strTime, formatType); // String类型转成date类型
      if (date == null) {
      return 0;
      } else {
      long currentTime = dateToLong(date); // date类型转成long类型
      return currentTime;
      }
      }

      // date类型转换为long类型
      // date要转换的date类型的时间
      public static long dateToLong(Date date) {
      return date.getTime();
      }
      public static String numToDate(int number,String formatType){
          Date date = new Date(number);
          SimpleDateFormat sdf = new SimpleDateFormat(formatType);
          return sdf.format(date);
      }

}