首页 > 开发 > Java > 正文

java针对于时间转换的DateUtils工具类

2024-07-13 10:14:20
字体:
来源:转载
供稿:网友

本文实例为大家分享了时间转换的DateUtils工具类,供大家参考,具体内容如下

import java.sql.Timestamp;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;import java.util.HashMap;import java.util.Map;import net.sf.json.JSONObject;/** * 时间日期工具类 *  * @author wul * 2015-12-31 */public class DateUtil {  public static final String DATE_NORMAL_FORMAT = "yyyy-MM-dd";   public static final String DATETIME_NORMAL_FORMAT = "yyyy-MM-dd HH:mm:ss";   public static final String DATE_COMPACT_FORMAT = "yyyyMMdd";   public static final String DATETIME_COMPACT_FORMAT = "yyyyMMddHHmmss";   public static final String YM_NORMAL_FORMAT = "yyyy-MM";   public static final String YM_COMPACT_FORMAT = "yyyyMM";   /**   * String转Timestamp   * @param dateStr   * @return   * @author wul   * 2016-1-17   */  public static Timestamp stringToTimestamp(String dateStr) {    try {       if(dateStr.length() <= 10) {        dateStr += " 00:00:00";      }      return Timestamp.valueOf(dateStr);     } catch (Exception e) {       e.printStackTrace();       return null;    }   }  /**   * String转Date   * @param dateStr   * @param format   * @return   * @author wul   * 2016-1-17   */  public static Date stringToDate(String dateStr, String format) {    if(dateStr == null || "".equals(dateStr)){      return null;    }    Date date = null;     //注意format的格式要与日期String的格式相匹配     SimpleDateFormat sdf = new SimpleDateFormat(format);     try {       date = sdf.parse(dateStr);     } catch (Exception e) {       e.printStackTrace();     }     return date;  }  /**   * Date转String   * @param date   * @param format   * @return   * @author wul   * 2016-1-17   */  public static String dateToString(Date date, String format) {    SimpleDateFormat sdf = new SimpleDateFormat(format);    String currentDate = sdf.format(date);    return currentDate;  }  /**   * Date转Timestamp   * @param date   * @return   * @author wul   * 2016-1-17   */  public static Timestamp dateToTimestamp(Date date) {    Timestamp ts = new Timestamp(date.getTime());    return ts;  }  /**   * Timestamp转String   * @param ts   * @return   * @author wul   * 2016-1-17   */  public static String timestampToString(Timestamp ts) {    String tsStr = null;     SimpleDateFormat sdf = new SimpleDateFormat(DATETIME_NORMAL_FORMAT);     try {       tsStr = sdf.format(ts);     } catch (Exception e) {       e.printStackTrace();     }     return tsStr;  }  /**   * Timestamp转Date   * @param ts   * @return   * @author wul   * 2016-1-17   */  public static Date timestampToDate(Timestamp ts) {    return ts;  }  /**   * 获得当前时间并格式化:yyyy-MM-dd HH:mm:ss   * @return   */  public static String getCurrentTimeNormal() {    SimpleDateFormat sdf = new SimpleDateFormat(DATETIME_NORMAL_FORMAT);    String currentDate = sdf.format(new Date());    return currentDate;  }  /**   * 获得当前时间并格式化:yyyyMMddHHmmss   * @return   */  public static String getCurrentTimeCompact() {    SimpleDateFormat sdf = new SimpleDateFormat(DATETIME_COMPACT_FORMAT);    String currentDate = sdf.format(new Date());    return currentDate;  }  /**   * 获得当前时间并格式化:yyyy-MM-dd   * @return   */  public static String getCurrentDateNormal() {    SimpleDateFormat sdf = new SimpleDateFormat(DATE_NORMAL_FORMAT);    String currentDate = sdf.format(new Date());    return currentDate;  }  /**   * 获得当前时间并格式化:yyyyMMdd   * @return   */  public static String getCurrentDateCompact() {    SimpleDateFormat sdf = new SimpleDateFormat(DATE_COMPACT_FORMAT);    String currentDate = sdf.format(new Date());    return currentDate;  }  /**   * 将20101202时间格式化为2010-12-02   *    * @param DateString 时间格式:yyyyMMdd   * @return   */  public static String getDateCompactToNormal(String DateString){    StringBuilder sb = new StringBuilder();    sb.append(DateString.substring(0,4)).append("-").append(DateString.subSequence(4, 6)).append("-").append(DateString.substring(6, 8));    return sb.toString();  }  /**   * 将20101202101423时间格式化为2010-12-02 10:14:23   *    * @param DateString 时间格式:yyyyMMddHHmmss   * @return   */  public static String getDateTimeCompactToNormal(String DateString){    StringBuilder sb = new StringBuilder();    sb.append(DateString.substring(0,4)).append("-").append(DateString.subSequence(4, 6)).append("-").append(DateString.substring(6, 8))        .append(" ").append(DateString.substring(8, 10)).append(":").append(DateString.substring(10, 12)).append(":").append(DateString.substring(12));    return sb.toString();  }  /**   * 把界面输入的时间转为间凑的时间字符串   * 将2010-12-02 10:14:23时间格式化为20101202101423   * @param dateNormalStr String   * @return String   */  public static String getCompactString(String dateNormalStr) {    StringBuffer ret = new StringBuffer();    try {      ret.append(dateNormalStr.substring(0, 4));      ret.append(dateNormalStr.substring(5, 7));      ret.append(dateNormalStr.substring(8, 10));      ret.append(dateNormalStr.substring(11, 13));      ret.append(dateNormalStr.substring(14, 16));      ret.append(dateNormalStr.substring(17, 19));    } catch (Exception ex) {      // 如果字串不够长度,则返回前面的部分    }    return ret.toString();  }  /**   * 将20101202(101423)时间格式 获得年份   * @param DateString  时间格式:yyyyMMdd(HHmmss)   * @return   */  public static String getYear(String DateString){    return DateString.substring(0,4);  }  /**   * 将20101202(101423)时间格式 获得月份   * @param DateString  时间格式:yyyyMMdd(HHmmss)   * @return   */  public static String getMonth(String DateString){    return DateString.substring(4,6);  }  /**   * 将20101202时间格式 获得日期   * @param DateString  时间格式:yyyyMMdd   * @return   */  public static String getDayNoTime(String DateString){    return DateString.substring(6);  }  /**  * 获取当前日期之前的日期,按天数向前推  * @param numVal  * @param dateFormat  * @return  * @author wul  * 2016-1-17  */  public static String getBeforeDatePlusDay(int numVal, String dateFormat) {    Calendar calendar = Calendar.getInstance();    long currentTimeMillis = calendar.getTimeInMillis();    long hourInMillis = 60 * 60 * 1000;    long dVal = numVal * 24 * hourInMillis;    SimpleDateFormat sdf = new SimpleDateFormat(dateFormat);    String currentDate = sdf.format(currentTimeMillis - dVal);    return currentDate;  }  /**   * 获取当前日期之前的日期,按天数向前推   * @param numVal   * @param dateFormat   * @return   * @author wul   * 2016-1-17   */  public static String getAfterDatePlusDay(int numVal, String dateFormat) {    Calendar calendar = Calendar.getInstance();    long currentTimeMillis = calendar.getTimeInMillis();    long hourInMillis = 60 * 60 * 1000;    long dVal = numVal * 24 * hourInMillis;    SimpleDateFormat sdf = new SimpleDateFormat(dateFormat);    String currentDate = sdf.format(currentTimeMillis + dVal);    return currentDate;  }  /**   * 获取当前日期之前的日期,按小时向前推   * @param numVal   * @param dateFormat   * @return   * @author wul   * 2016-1-17   */  public static String getBeforeDatePlusHour(int numVal, String dateFormat) {    Calendar calendar = Calendar.getInstance();    long currentTimeMillis = calendar.getTimeInMillis();    long hourInMillis = 60 * 60 * 1000;    long dVal = numVal * hourInMillis;    SimpleDateFormat sdf = new SimpleDateFormat(dateFormat);    String currentDate = sdf.format(currentTimeMillis - dVal);    return currentDate;  }  /**   * 获取当前日期之前的日期,按小时向前推   * @param numVal   * @param dateFormat   * @return   * @author wul   * 2016-1-17   */  public static String getAfterDatePlusHour(int numVal, String dateFormat) {    Calendar calendar = Calendar.getInstance();    long currentTimeMillis = calendar.getTimeInMillis();    long hourInMillis = 60 * 60 * 1000;    long dVal = numVal * hourInMillis;    SimpleDateFormat sdf = new SimpleDateFormat(dateFormat);    String currentDate = sdf.format(currentTimeMillis + dVal);    return currentDate;  }  /**   * 两个日期相差天数   * @param beginDate   * @param endDate   * @return   * @author wul   * 2016-1-18   */  public static int daysBetween(Date beginDate, Date endDate) {    Calendar cal = Calendar.getInstance();    cal.setTime(beginDate);    long time1 = cal.getTimeInMillis();    cal.setTime(endDate);    long time2 = cal.getTimeInMillis();    long between_days = (time2 - time1) / (1000 * 3600 * 24);    return Integer.parseInt(String.valueOf(between_days));  }  /**   * 获取某月天数   * @param year   * @param month   * @return   * @author wul   * 2016-1-18   */  public static int getMonthdays(int year, int month) {    Calendar cal = Calendar.getInstance();    cal.set(Calendar.YEAR, year);    cal.set(Calendar.MONTH, month - 1);    return cal.getActualMaximum(Calendar.DATE);  }  /**   * 给时间加减年份   * @param date   * @param plusTime   * @return   * @author wul   * 2016-1-18   */  public static Date getDatePlusYear(Date date, int plusTime) {    Calendar cal = Calendar.getInstance();    cal.setTime(date);    cal.add(Calendar.YEAR, plusTime);    Date d = cal.getTime();    return d;  }  /**   * 给时间加减月份   * @param date   * @param plusTime   * @return   * @author wul   * 2016-1-18   */  public static Date getDatePlusMonth(Date date, int plusTime) {    Calendar cal = Calendar.getInstance();    cal.setTime(date);    cal.add(Calendar.MONTH, plusTime);    Date d = cal.getTime();    return d;  }  /**   * 给时间加减天数   * @param date   * @param plusTime   * @return   * @author wul   * 2016-1-18   */  public static Date getDatePlusDay(Date date, int plusTime) {    Calendar cal = Calendar.getInstance();    cal.setTime(date);    cal.add(Calendar.DATE, plusTime);    Date d = cal.getTime();    return d;  }  /**   * 给时间加减小时   * @param date   * @param plusTime   * @return   * @author wul   * 2016-1-18   */  public static Date getDatePlusHour(Date date, int plusTime) {    Calendar cal = Calendar.getInstance();    cal.setTime(date);    cal.add(Calendar.HOUR, plusTime);    Date d = cal.getTime();    return d;  }  /**   * 给时间加减分钟   * @param date   * @param plusTime   * @return   * @author wul   * 2016-1-18   */  public static Date getDatePlusMinute(Date date, int plusTime) {    Calendar cal = Calendar.getInstance();    cal.setTime(date);    cal.add(Calendar.MINUTE, plusTime);    Date d = cal.getTime();    return d;  }  /**   * 给时间加减秒   * @param date   * @param plusTime   * @return   * @author wul   * 2016-1-18   */  public static Date getDatePlusSecond(Date date, int plusTime) {    Calendar cal = Calendar.getInstance();    cal.setTime(date);    cal.add(Calendar.SECOND, plusTime);    Date d = cal.getTime();    return d;  }  /**   * 返回当前年   * @return   * @author wul   * 2016-1-18   */  public static int getCurrentYear() {    Calendar calendar = Calendar.getInstance();    return calendar.get(1);  }  /**   * 返回当前月   * @return   * @author wul   * 2016-1-18   */  public static int getCurrentMonth() {    Calendar calendar = Calendar.getInstance();    return calendar.get(2) + 1;  }  /**   * 返回当前天   * @return   * @author wul   * 2016-1-18   */  public static int getCurrentDay() {    Calendar calendar = Calendar.getInstance();    return calendar.get(5);  }  /**   * 返回当前小时   * @return   * @author wul   * 2016-1-18   */  public static int getCurrentHour() {    Calendar calendar = Calendar.getInstance();    return calendar.get(11);  }  /**   * 返回当前分钟   * @return   * @author wul   * 2016-1-18   */  public static int getCurrentMinute() {    Calendar calendar = Calendar.getInstance();    return calendar.get(12);  }  /**   * 返回当前秒   * @return   * @author wul   * 2016-1-18   */  public static int getCurrentSecond() {    Calendar calendar = Calendar.getInstance();    return calendar.get(13);  }  /**   * 返回当前年   * @return   * @author wul   * 2016-1-18   */  public static int getYear(Date date) {    Calendar calendar = Calendar.getInstance();    calendar.setTime(date);    return calendar.get(1);  }  /**   * 返回当前月   * @return   * @author wul   * 2016-1-18   */  public static int getMonth(Date date) {    Calendar calendar = Calendar.getInstance();    calendar.setTime(date);    return calendar.get(2) + 1;  }  /**   * 返回当前天   * @return   * @author wul   * 2016-1-18   */  public static int getDay(Date date) {    Calendar calendar = Calendar.getInstance();    calendar.setTime(date);    return calendar.get(5);  }  /**   * 返回当前小时   * @return   * @author wul   * 2016-1-18   */  public static int getHour(Date date) {    Calendar calendar = Calendar.getInstance();    calendar.setTime(date);    return calendar.get(11);  }  /**   * 返回当前分钟   * @return   * @author wul   * 2016-1-18   */  public static int getMinute(Date date) {    Calendar calendar = Calendar.getInstance();    calendar.setTime(date);    return calendar.get(12);  }  /**   * 返回当前秒   * @return   * @author wul   * 2016-1-18   */  public static int getSecond(Date date) {    Calendar calendar = Calendar.getInstance();    calendar.setTime(date);    return calendar.get(13);  }  public static void main(String[] args) {    System.out.println(DateUtil.dateToString(new java.sql.Date(System.currentTimeMillis()), DateUtil.DATE_NORMAL_FORMAT));    Map<String,Object> map = new HashMap<String,Object>();    map.put("date", new Date());    String json = JSONObject.fromObject(map).toString();    System.out.println(json);  }}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持VeVb武林网。


注:相关教程知识阅读请移步到JAVA教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表