日期转换工具集

来源:互联网 发布:人工智能怎么学 编辑:程序博客网 时间:2024/06/08 07:58
package com.sinotrans.filesystem.util;import java.sql.Timestamp;import java.text.DateFormat;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;/** * 日期工具类 */public class DateUtil {private static java.text.SimpleDateFormat dateformat = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss");public static String DATE_FORMAT_YMDHMS = "yyyy-MM-dd HH:mm:ss";/** * 格式化时间 返回yyyy-MM-dd HH:mm:ss */public static String parseDateToString(Date date) {try {return dateformat.format(date);} catch (Exception e) {e.printStackTrace();}return null;}/** * 获得系统时间 *  * @return */public static String getSysDateTime() {return dateformat.format(new Date());}/** * "yyyy-MM-dd"格式的字符串转化为时间 *  * @param str * @return */public static Calendar str2Date(String str) {java.util.Calendar ca = java.util.Calendar.getInstance();int year = Integer.parseInt(str.substring(0, 4));int month = Integer.parseInt(str.substring(5, 7));int day = Integer.parseInt(str.substring(8, 10));ca.set(year, month - 1, day);return ca;}/** * @description 将格式为yyyy-MM-dd HH:mm:ss的字符串转为Date * @param dateTimeString * @return Date * @throws ParseException */public static Date str2DateTime(String dateTimeString)throws ParseException {DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");Date date = format.parse(dateTimeString);return date;}/** 获取系统当前时间 **/public static long getTime() {java.util.Date dt = new java.util.Date();return dt.getTime();}/** 获取系统当前日期 得到的日期格式如:2004-10-09 **/public static java.sql.Date getSqlDate() {return new java.sql.Date(getTime());}/** * 获得指定时间是星期几 *  * @param dt * @return */public static String getWeekOfDate(Date dt) {String[] weekDays = { "星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六" };Calendar cal = Calendar.getInstance();cal.setTime(dt);int w = cal.get(Calendar.DAY_OF_WEEK) - 1;if (w < 0)w = 0;return weekDays[w];}/** * 当前时间推后几天 *  * @param day * @return */public static String addDay(int day) {Calendar cal = Calendar.getInstance();int year = cal.get(Calendar.YEAR);int month = cal.get(Calendar.MONTH);int date = cal.get(Calendar.DATE);cal.set(year, month, date + day);java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("yyyy-MM-dd");String result = sdf.format(cal.getTime());return result;}/** * 两个Str的时间比较先后 *  * @param date1 * @param date2 * @return */public static boolean before(String date1, String date2) {Calendar datef = str2Date(date1);Calendar dates = str2Date(date2);return datef.before(dates);}/** * 把yyyy-MM-dd格式的字符串转换成Timestamp *  * @param dateStr * @return Timestamp */public final static Timestamp getTimeOfDateStr(String dateStr) {DateFormat df = new java.text.SimpleDateFormat("yyyy-MM-dd");java.sql.Timestamp time = null;try {java.util.Date da = df.parse(dateStr);time = new java.sql.Timestamp(da.getTime());} catch (Exception e) {e.printStackTrace();}return time;}public final static String dateToString(Date date) {if (date == null) {date = new Date();}DateFormat df = new java.text.SimpleDateFormat("yyyyMMddHHmm");try {return df.format(date);} catch (Exception e) {e.printStackTrace();}return "";}public final static String dateToyyyyMMddHHmmss(Date date) {if (date == null) {date = new Date();}DateFormat df = new java.text.SimpleDateFormat("yyyyMMddHHmmss");try {return df.format(date);} catch (Exception e) {e.printStackTrace();}return "";}/** * @Title 时间字符串[格式必须 为: yyyy-mm-dd hh:mm:ss]转 Timestamp * @Description 时间字符串[格式必须 为: yyyy-mm-dd hh:mm:ss]转 Timestamp * @param datestr *            时间字符串 * @param date_format *            时间字符串格式 * @return Timestamp 返回TimeStamp类型的时间 */public static Timestamp dateStrToTime(String datestr) {return Timestamp.valueOf(datestr);}/** * @Title Date转 Timestamp * @Description Date转 Timestamp * @param date *            Date 时间 * @return Timestamp 返回TimeStamp类型的时间 */public static Timestamp dateToTime(Date date) {return new Timestamp(date.getTime());}/** * @Title Timestamp转 String * @Description Timestamp转 String * @param timestamp *            Timestamp 时间 * @return Timestamp 返回String类型的时间 [格式为 yyyy-mm-dd hh:mm:ss] */public static String timestampToDateStr(Timestamp timestamp) {SimpleDateFormat sdf = new SimpleDateFormat(DateUtil.DATE_FORMAT_YMDHMS);return sdf.format(timestamp);}/** * @Title Timestamp转 Date * @Description Timestamp转 Date * @param date *            Date 时间 * @return Timestamp 返回Date类型的时间 */public static Date timeStampToDate(Timestamp timestamp) {Date date = new Date();date = timestamp;return date;}/** *  *  * @Title 获得当前的系统时间 * @Description * @param * @return * @throws */public static String getSystemTime() {SimpleDateFormat sdf = new SimpleDateFormat(DateUtil.DATE_FORMAT_YMDHMS);return sdf.format(new Date());}/** * 获取当前时间+或-的时间 *  * @author wzc(wangzicheng@unimlink.com) * @date Mar 6, 2015 7:49:44 PM * @param scale * @param unit * @return Date */public static Date setDate(Calendar c, int scale, int unit) {c.add(unit, scale);return c.getTime();}public static Date setDate(int scale, int unit) {Calendar c = Calendar.getInstance();return setDate(c, scale, unit);}/** * @description 格式化时间 返回yyyy-MM-dd HH:mm:ss * @param date * @return String */public static String dateToStr(Date date) {try {return timestampToDateStr(dateToTime(date));} catch (Exception e) {e.printStackTrace();}return null;}/** * 增加或減少天数 *  * @param date * @param num * @return */public static Date addDay(Date date, int num) {Calendar startDate = Calendar.getInstance();startDate.setTime(date);startDate.add(Calendar.DAY_OF_MONTH, num);return startDate.getTime();}}

0 0
原创粉丝点击