Date转换工具类

来源:互联网 发布:mysql降序 编辑:程序博客网 时间:2024/06/11 04:58

package com.ericsson.m2m.util;

 

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

/**
 * @(#)DateTimeUtil.java
 * 日期时间工具类,进行各种日期时间格式的转化以及格式化
 *
 * @author haungming
 * @version 1.0   ericsson
 */
public class DateTimeUtil {
 
 ///
 ///选中你要转换为的日期格式、然后F查找、对应的方法名。调用这个方法就可以把当前日期转换成String字符串了。
 //定义时间日期显示格式
 ///
 public final static String DATE_FORMAT = "yyyy-MM-dd";
 public final static String DATE_FORMAT_CN = "yyyy年MM月dd日";
 public final static String TIME_FORMAT = "yyyy-MM-dd HH:mm:ss";
 public final static String TIME_FORMAT_CN = "yyyy年MM月dd日 HH:mm:ss";
 public final static String MONTH_FORMAT = "yyyy-MM";
 public final static String DATE_FORMAT_EN="yyyy.MM.dd";
 public final static String DATA_FORMAT_ON="yy.MM.dd";
 public final static String DATA_FORMAT_MM="yyyyMMdd";
 public final static String DATA_FORMAT_14 = "yyyyMMddHHmmss";
 public final static String DATA_FORMAT_12 = "yyyyMMddHHmm";
 public final static String DATA_FORMAT_10 = "MMddHHmmss";
 public final static String DATA_FORMAT_6 = "yyyyMM";
 public final static String DATA_FORMAT_HHmmss = "HHmmss";
 public final static String TIME_FORMAT_MILLI = "yyyy-MM-dd HH:mm:ss.SSS";

 /**
  * 取得当前系统时间,返回java.util.Date类型
  * @see java.util.Date
  * @return java.util.Date 返回服务器当前系统时间
  */
 public static java.util.Date getCurrDate() {
        return new java.util.Date();
    } 
 
 /**
  * 取得当前系统时间戳
  * @see java.sql.Timestamp
  * @return java.sql.Timestamp 系统时间戳
  */
 public static java.sql.Timestamp getCurrTimestamp() {
        return new java.sql.Timestamp(System.currentTimeMillis());
    }
 
 
 /**
  * 根据格式得到格式化后的日期
  * @param currDate 要格式化的日期
  * @param format 日期格式,如yyyy-MM-dd
  * @see java.text.SimpleDateFormat#format(java.util.Date)
  * @return String 返回格式化后的日期,格式由参数<code>format</code>定义,如yyyy-MM-dd,如2006-02-15
  */
 public static String getFormatDate(java.util.Date currDate, String format) {
  SimpleDateFormat dtFormatdB = null;
  try {
   dtFormatdB = new SimpleDateFormat(format);
   return dtFormatdB.format(currDate);
  } catch (Exception e) {
   dtFormatdB = new SimpleDateFormat(DATE_FORMAT);
   return dtFormatdB.format(currDate);
  }
 }
 
 
 
 /**
  * 得到格式化后的时间,格式为yyyy年MM月dd日 HH:mm:ss,如2006年02月15日 15:23:45
  * @param currDate 要格式化的时间
  * @see #getFormatDateTime(String, String)
  * @return Date 返回格式化后的时间,默认格式为yyyy年MM月dd日 HH:mm:ss,如2006年02月15日 15:23:45
  */
 public static Date getFormatDateTime_CN(String currDate) {
  return getFormatDateTime(currDate, TIME_FORMAT_CN);
 }
 
 /**
  * 根据格式得到格式化后的时间
  * @param currDate 要格式化的时间
  * @param format 时间格式,如yyyy-MM-dd HH:mm:ss
  * @see java.text.SimpleDateFormat#format(java.util.Date)
  * @return String 返回格式化后的时间,格式由参数<code>format</code>定义,如yyyy-MM-dd HH:mm:ss
  */
 public static String getFormatDateTime(java.util.Date currDate, String format) {
  SimpleDateFormat dtFormatdB = null;
  try {
   dtFormatdB = new SimpleDateFormat(format);
   return dtFormatdB.format(currDate);
  } catch (Exception e) {
   dtFormatdB = new SimpleDateFormat(TIME_FORMAT);
   return dtFormatdB.format(currDate);
  }
 }
 
 /**
  * 根据格式得到格式化后的日期
  * @param currDate 要格式化的日期
  * @param format 日期格式,如yyyy-MM-dd
  * @see java.text.SimpleDateFormat#parse(java.lang.String)
  * @return Date 返回格式化后的日期,格式由参数<code>format</code>定义,如yyyy-MM-dd,如2006-02-15
  */
 public static Date getFormatDate(String currDate, String format) {
  SimpleDateFormat dtFormatdB = null;
  try {
   dtFormatdB = new SimpleDateFormat(format);
   return dtFormatdB.parse(currDate);
  } catch (Exception e) {
   dtFormatdB = new SimpleDateFormat(DATE_FORMAT);
   try {
    return dtFormatdB.parse(currDate);
   } catch (Exception ex){}
  }
  return null;
 }
 
 /**
  * 根据格式得到格式化后的时间
  * @param currDate 要格式化的时间
  * @param format 时间格式,如yyyy-MM-dd HH:mm:ss
  * @see java.text.SimpleDateFormat#parse(java.lang.String)
  * @return Date 返回格式化后的时间,格式由参数<code>format</code>定义,如yyyy-MM-dd HH:mm:ss
  */
 public static Date getFormatDateTime(String currDate, String format) {
  SimpleDateFormat dtFormatdB = null;
  try {
   dtFormatdB = new SimpleDateFormat(format);
   return dtFormatdB.parse(currDate);
  } catch (Exception e) {
   dtFormatdB = new SimpleDateFormat(TIME_FORMAT);
   try {
    return dtFormatdB.parse(currDate);
   } catch (Exception ex){}
  }
  return null;
 }
 

 public static String getCurrDateTimeStr8(Date date) {
  return getFormatDateTime(date,DATA_FORMAT_MM);
 }
 
 /**
  * 得到格式化后的当前系统时间,格式为yyyyMMddHHmmss,如20060215152345
  * @see #getFormatDateTime(java.util.Date)
  * @return String 返回格式化后的当前服务器系统时间,格式为yyyyMMddHHmmss,如20060215152345
  */
 public static String getCurrDateTimeStrNew() {
  return getFormatDateTime(getCurrDate(),DATA_FORMAT_14);
 }
 
 
 public static String getCurrDateTimeStrHHmmss() {
  return getFormatDateTime(getCurrDate(),DATA_FORMAT_HHmmss);
 }
 
 public static String getCurrDateTimeStrMMddHHmmss() {
  return getFormatDateTime(getCurrDate(),DATA_FORMAT_10);
 }
 
 /**
  * 得到格式化后的当前系统时间,格式为yyyyMM,如200602
  * @see #getFormatDateTime(java.util.Date)
  * @return String 返回格式化后的当前服务器系统时间,格式为yyyyMMd,如200602
  */
 public static String getCurrDateTimeStr6() {
  return getFormatDateTime(getCurrDate(),DATA_FORMAT_6);
 }
 
 /**
  * 得到格式化后的当前系统时间,格式为yyyyMMddHHmm,如200602151523
  * @see #getFormatDateTime(java.util.Date)
  * @return String 返回格式化后的当前服务器系统时间,格式为yyyyMMddHHmm,如200602151523
  */
 public static String getCurrDateTimeStr12() {
  return getFormatDateTime(getCurrDate(),DATA_FORMAT_12);
 }
 
 /**
  * 得到格式化后的当前系统时间,格式为yyyyMMddHHmmss,如20060215152345
  * @see #getFormatDateTime(java.util.Date)
  * @return String 返回格式化后的当前服务器系统时间,格式为yyyyMMddHHmmss,如20060215152345
  */
 public static String getCurrDateTimeStrNew(Date date) {
  return getFormatDateTime(date,DATA_FORMAT_14);
 }
 
 
 public static Date getFormatDateNew(String dateStr){
  return getFormatDateTime(dateStr, DATA_FORMAT_14);
 }
 
 /**
  * 得到格式化后的当前系统时间,格式为yyyy年MM月dd日 HH:mm:ss,如2006年02月15日 15:23:45
  * @see #getFormatDateTime(java.util.Date, String)
  * @return String 返回格式化后的当前服务器系统时间,格式为yyyy年MM月dd日 HH:mm:ss,如2006年02月15日 15:23:45
  */
 public static String getCurrDateTimeStr_CN() {
  return getFormatDateTime(getCurrDate(), TIME_FORMAT_CN);
 }
 
 
 
 public static String getMonthBeginStr(){
  Calendar nowTime =  Calendar.getInstance();
  nowTime.set(Calendar.DAY_OF_MONTH, 1);
  nowTime.set(Calendar.HOUR_OF_DAY, 0);
  nowTime.set(Calendar.MINUTE, 0);
  nowTime.set(Calendar.SECOND, 0);
  
  return getFormatDate(nowTime.getTime(), DATA_FORMAT_14);
 }
 
 /**
  * 得到本月末的时间的字符串,格式:yyyyMMddHHmmss
  * @return
  */
 public static String getMonthEndStr(){
  Calendar now = Calendar.getInstance();
  int endDay = now.getActualMaximum(Calendar.DAY_OF_MONTH);
  now.set(Calendar.DAY_OF_MONTH, endDay);
  now.set(Calendar.HOUR_OF_DAY, 23);
  now.set(Calendar.MINUTE, 59);
  now.set(Calendar.SECOND, 59);
  
  return getFormatDate(now.getTime(), DATA_FORMAT_14);
 }
 
 public static void main(String[] args){
//  System.out.println(DateTimeUtil.getMonthBeginStr());
//  System.out.println(DateTimeUtil.getMonthEndStr());
//  System.out.println(DateTimeUtil.getCurrDateTimeStrNew());
//  System.out.println(DateTimeUtil.getFormatDateTime(new Date(), "mmss"));
  Calendar date = Calendar.getInstance();
  date.set(Calendar.DAY_OF_MONTH, date.get(Calendar.DAY_OF_MONTH)-1);
//  System.out.println(DateTimeUtil.getCurrDateTimeStrNew(date).substring(0,6));
//  System.out.println(date.getYear()+1900);
//  System.out.println(Calendar.getInstance().get(Calendar.WEEK_OF_MONTH));
//  System.out.println(Calendar.getInstance().get(Calendar.DATE));
//  System.out.println(Calendar.getInstance().get(Calendar.MONTH));
  
  System.out.println(getCurrDateTimeStr8(date.getTime()));;
 }
}

          

原创粉丝点击