⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jmendateutil.java

📁 梦界家园程序开发基底框架
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
package jm.util ;

import java.sql.Timestamp;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

/**
 * <H3>擔晅偺僼僅乕儅僢僩傪曄姺偡傞儐乕僥傿儕僥傿乕僋儔僗.</H3>
 *
 * <PRE>
 * </PRE>
 *
 * @author fu_changyong(1shome)
 * @see jdk1.5.2
 * @version 1.5.2.2
 */
public class JMENDateUtil {
	/** 夋柺偵昞帵偡傞偨傔偺擔晅僷僞乕儞 */
	public static final String PATTERN_PRINT_SCREEN = "yyyy-M-d";

	/** DB偵搊榐偡傞偨傔偺擔晅僷僞乕儞 */
	public static final String PATTERN_DB_REGIST_DATE_YYYYMMDD = "yyyyMMdd";

	/** DB偵搊榐偡傞偨傔偺擔晅僷僞乕儞 */
	public static final String PATTERN_DB_REGIST_DATE6 = "yyMMdd";

    /** DB偵搊榐偡傞偨傔偺擔晅僷僞乕儞 */
    public static final String PATTERN_DB_REGIST_DATETIME = "yyyyMMddHHmmss";

	/** DB偵搊榐偡傞偨傔偺帪崗僷僞乕儞 */
	public static final String PATTERN_DB_REGIST_TIME = "HHmmss";

	/** DB偵搊榐偡傞偨傔偺擔晅僷僞乕儞 */
	public static final String PATTERN_DB_REGIST_DATE_YYYYMM = "yyyyMM";
    /** DB偵搊榐偡傞偨傔偺擔晅僷僞乕儞 */
    public static final String PATTERN_DB_REGIST_DATE_YYYY = "yyyy";

	/** DB偵搊榐偡傞偨傔偺擔晅僷僞乕儞乮俀侽擭偺曗廩乯 */
	public static final String PATTERN_DB_REGIST_DATE_20YYMMDD = "20";

	/** DB偵搊榐偡傞偨傔偺擔晅僷僞乕儞乮侾俋擭偺曗廩乯 */
	public static final String PATTERN_DB_REGIST_DATE_19YYMMDD = "19";

	/** DB偵搊榐偡傞偨傔偺擔晅僷僞乕儞 */
	public static final String PATTERN_DB_REGIST_DATE_YYMM00 = "00";

	/** 侾俋倃倃丄俀侽倃倃擭嬫暘 */
	/**
	 * 61 = 1961 60 = 1960 59 = 2059
	 */
	public static final int PATTERN_YEARKB = 60;

	/**
	 * <H3>巜掕偝傟偨僷僞乕儞偱尰嵼偺僔僗僥儉擔晅傪庢摼偡傞.</H3>
	 *
	 * <PRE>
	 *
	 * 僷僞乕儞偵偮偄偰偼丄SimpleDateFormat僋儔僗傪嶲徠偺偙偲.
	 *
	 * </PRE>
	 *
	 * @param strPattern
	 *            僷僞乕儞乮椺丗yyyyMMdd
	 * @return 尰嵼擔晅
	 * @see SimpleDateFormat
	 */
	public static String nowDate(String strPattern) {
		SimpleDateFormat simpleDateFormat = new SimpleDateFormat(strPattern);
		return simpleDateFormat.format(new Date());
	}

	/**
	 * 格式化日期
	 * @param strPattern
	 * @return
	 */
	public static String formatDate(Date date,String strPattern) {
		SimpleDateFormat simpleDateFormat = new SimpleDateFormat(strPattern);
		return simpleDateFormat.format(date);
	}

	/**
	 *
	 * <H3>夋柺偵昞帵偡傞宍偱尰嵼偺僔僗僥儉擔晅傪庢摼偡傞.</H3>
	 *
	 * <PRE>
	 *
	 * 2005/7/25擔尰嵼丄yyyy-M-d
	 *
	 * </PRE>
	 *
	 * @return 夋柺偵昞帵偡傞宍偵僼僅乕儅僢僩偝傟偨僔僗僥儉擔晅
	 */
	public static String nowDatePrintScreen() {
		return nowDate(PATTERN_PRINT_SCREEN);
	}

	/**
	 * <H3>巜掕偝傟偨僷僞乕儞偱尰嵼偺僔僗僥儉擔晅傪庢摼偡傞.</H3>
	 *
	 * <PRE>
	 *
	 * 悢抣偲偟偰擔晅傪曉偡. 僷僞乕儞偵偮偄偰偼丄SimpleDateFormat僋儔僗傪嶲徠偺偙偲.
	 *
	 * </PRE>
	 *
	 * @param strPattern
	 *            僷僞乕儞乮椺丗yyyyMMdd
	 * @return int 尰嵼擔晅
	 * @see SimpleDateFormat
	 */
	public static int nowDateInt(String strPattern) {
		SimpleDateFormat simpleDateFormat = new SimpleDateFormat(strPattern);
		return Integer.parseInt(simpleDateFormat.format(new Date()));
	}

	/**
	 * <H3>巜掕偝傟偨僷僞乕儞偱尰嵼偺帪崗傪庢摼偡傞(HHmmss)</H3>
	 *
	 * <PRE>
	 *
	 * 悢抣偲偟偰帪崗傪曉偡. 僷僞乕儞偵偮偄偰偼丄SimpleDateFormat僋儔僗傪嶲徠偺偙偲.
	 *
	 * </PRE>
	 *
	 * @param strPattern
	 *            僷僞乕儞乮椺丗HHmmss
	 * @return int 尰嵼帪崗
	 * @see SimpleDateFormat
	 */
	public static int nowTimeInt(String strPattern) {
		SimpleDateFormat simpleDateFormat = new SimpleDateFormat(strPattern);
		return Integer.parseInt(simpleDateFormat.format(new Date()));
	}

	/**
	 * <H3>僔僗僥儉擔晅儈儕昩.</H3>
	 *
	 * <PRE>
	 *
	 * 1970 擭侾寧侾擔 00:00:00 GMT 偐傜偺儈儕昩悢傪曉偟傑偡丅
	 *
	 * </PRE>
	 *
	 * @return long 儈儕昩
	 */
	public static long nowTime() {
		Date date = new Date();
		return date.getTime();
	}

	/**
	 * <H3>悢抣乮YYYYMMDD乯傪擔晅宍幃(YYYY/MM/DD)傊曄姺偡傞</H3>
	 *
	 * @param intDate
	 *            曄姺偡傞悢抣
	 * @return String 曄姺屻偺擔晅宍幃偺暥帤楍
	 */
	public static String Num2Date(int intDate) {

		if (intDate == 0) {
			return "";
		}

		StringBuffer stbDate = new StringBuffer(Integer.toString(intDate));
		if (stbDate.length() == 8) {
			stbDate.insert(4, "/");
			stbDate.insert(7, "/");
		} else {
			return Integer.toString(intDate);
		}
		return stbDate.toString();
	}

	/**
	 * <H3>暥帤楍乮YYYYMMDD乯傪擔晅宍幃(YYYY/MM/DD)傊曄姺偡傞</H3>
	 *
	 * @param strDate
	 *            曄姺偡傞暥帤楍
	 * @return String 曄姺屻偺擔晅宍幃偺暥帤楍
	 */
	public static String Str2Date(String strDate) {

		if (strDate != null && strDate.equals("0")) {
			return "";
		}

		StringBuffer stbDate = new StringBuffer(strDate);
		if (stbDate.length() == 8) {
			stbDate.insert(4, "/");
			stbDate.insert(7, "/");
		} else {
			return strDate;
		}
		return stbDate.toString();
	}

	/**
	 * 擔晅宍幃乮YYYY/MM/DD丄YYYY/M/DD丄YYYY/MM/D丄YYYY/M/D乯傪悢抣乮YYYYMMDD乯傊曄姺
	 *
	 * @param strDate
	 *            曄姺偟偨偄僨乕僞
	 * @return int 曄姺偝傟偨僨乕僞
	 */
	public static int Date2Num(String strDate) {

		StringBuffer strbuffDate = new StringBuffer();
		StringBuffer strbuffInputDate = new StringBuffer(strDate + "/");

		//2004/3/26 T.Yamashiro(JBCC) Modify Start---------
		//8寘柍偗傟偽柍忦審偵僄儔乕
		if (strbuffInputDate.length() < 8) {
			return 0;
		}
		//2004/3/26 T.Yamashiro(JBCC) Modify End---------
		if (!strbuffInputDate.substring(4, 5).equals("/")) {
			return 0;
		}

		strbuffDate.append(strbuffInputDate.substring(0, 4));
		strbuffInputDate.delete(0, 5);

		for (int i = 0; i < 2; i++) {
			if (!strbuffInputDate.substring(1, 2).equals("/")) {
				if (!strbuffInputDate.substring(2, 3).equals("/")) {
					return 0;
				} else {
					strbuffDate.append(strbuffInputDate.substring(0, 2));
					strbuffInputDate.delete(0, 3);
				}
			} else {
				strbuffDate.append("0");
				strbuffDate.append(strbuffInputDate.substring(0, 1));
				strbuffInputDate.delete(0, 2);
			}
		}

		for (int i = 0; i < strbuffDate.length(); i++) {
			char charData = strbuffDate.charAt(i);
			if ((charData < '0') || (charData > '9')) {
				return 0;
			}
		}
		return Integer.parseInt(strbuffDate.toString());
	}

	//Add Start 2005/08/22 栘壓柅婯(JBCC)
	/**
	 * java.sql.Timestamp傪暥帤楍偵曄姺偡傞丅(yyyy'/'MM'/'dd' 'HH':'mm)
	 *
	 * @param timestamp
	 *            曄姺偟偨偄Timestamp
	 * @return String 曄姺偝傟偨撪梕
	 */
	public static String toString(Timestamp timestamp) {
		if (timestamp != null) {
			Date date = new Date(timestamp.getTime());
			SimpleDateFormat formatter =
				new SimpleDateFormat("yyyy'/'MM'/'dd' 'HH':'mm");

			return formatter.format(date);

		} else {
			return null;
		}
	}

	/**
	 * java.sql.Timestamp傪暥帤楍偵曄姺偡傞丅(yyyy'/'MM'/'dd')
	 *
	 * @param timestamp
	 *            曄姺偟偨偄Timestamp
	 * @return String 曄姺偝傟偨撪梕
	 */
	public static String TimestampToDate(Timestamp timestamp) {
		if (timestamp != null) {
			Date date = new Date(timestamp.getTime());
			SimpleDateFormat formatter =
				new SimpleDateFormat("yyyy'/'MM'/'dd'");

			return formatter.format(date);

		} else {
			return null;
		}
	}

	/**
	 * 擔晅宍幃乮YYYY/MM/DD丄YYYY/M/DD丄YYYY/MM/D丄YYYY/M/D乯傪擔晅宍幃乮YYYY/MM/DD乯傊曄姺
	 *
	 * @param strDate
	 *            曄姺偟偨偄僨乕僞
	 * @return String 曄姺偝傟偨僨乕僞
	 */
	public static String fixDate(String strDate) {

		StringBuffer strbuffDate = new StringBuffer();
		StringBuffer strbuffInputDate = new StringBuffer(strDate + "/");

		//8寘柍偗傟偽柍忦審偵僄儔乕
		if (strbuffInputDate.length() < 8) {
			return null;
		}
		if (!strbuffInputDate.substring(4, 5).equals("/")) {
			return null;
		}

		strbuffDate.append(strbuffInputDate.substring(0, 4));
		strbuffInputDate.delete(0, 5);

		for (int i = 0; i < 2; i++) {
			if (!strbuffInputDate.substring(1, 2).equals("/")) {
				if (!strbuffInputDate.substring(2, 3).equals("/")) {
					return null;
				} else {
					strbuffDate.append(strbuffInputDate.substring(0, 2));
					strbuffInputDate.delete(0, 3);
				}
			} else {
				strbuffDate.append("0");
				strbuffDate.append(strbuffInputDate.substring(0, 1));
				strbuffInputDate.delete(0, 2);
			}
		}

		for (int i = 0; i < strbuffDate.length(); i++) {
			char charData = strbuffDate.charAt(i);
			if ((charData < '0') || (charData > '9')) {
				return null;
			}
		}
		strbuffDate.insert(4, "/");
		strbuffDate.insert(7, "/");
		return strbuffDate.toString();
	}

	/**
	 * <H3>暥帤楍乮YYYYMMDD乯傪擔晅宍幃(YY/MM/DD)傊曄姺偡傞</H3>
	 *
	 * @param strDate
	 *            曄姺偡傞暥帤楍
	 * @return String 曄姺屻偺擔晅宍幃偺暥帤楍
	 */
	public static String Str2Date2(String strDate) {

		if (strDate != null && strDate.equals("0")) {
			return "";
		}

		//2暥帤枹枮偺応崌丄僄儔乕偲側傞偨傔廋惓
		//		StringBuffer stbDate = new StringBuffer(strDate.substring(2));
		//
		//		if (stbDate.length() == 6) {
		//			stbDate.insert(2, "/");
		//			stbDate.insert(5, "/");
		//		} else {
		//			return strDate;
		//		}
		//		return stbDate.toString();

		if (strDate != null && strDate.length() == 8) {
			StringBuffer stbDate = new StringBuffer(strDate.substring(2));

			stbDate.insert(2, "/");
			stbDate.insert(5, "/");
			strDate = stbDate.toString();

		}
		return strDate;

	}

	/**
	 * 擔晅曄姺傪愝掕偡傞
	 *
	 * @param strData
	 * @return newDataString --巊梡椺-- 050825 佀 20050825
	 *
	 */
	public static String setDateString(String strDate) {
		String newDateString = "";

		if (strDate != null && strDate.length() == 6) {
			//newDateString = DateUtil.PATTERN_DB_REGIST_DATE_20YYMMDD + strDate;
			//敿妏悢帤僠僃僢僋
			if (JMCheckType.isHalfNumber(strDate)) {
				int intYearkb = PATTERN_YEARKB;
				int intYear = Integer.parseInt(strDate.substring(0, 2));
				if (intYear >= intYearkb) {
					newDateString =
						PATTERN_DB_REGIST_DATE_19YYMMDD + strDate;
				} else {
					newDateString =
						PATTERN_DB_REGIST_DATE_20YYMMDD + strDate;
				}
			}
		} else {
			return strDate;
		}

		return newDateString;
	}

	/**
	 * <H3>擔晅曄姺傪愝掕偡傞</H3>
	 *
	 * @param strDate
	 *            曄姺偡傞暥帤楍 20050825 佀 05/08/25 050825 佀 05/08/25
	 *
	 * @return String 曄姺屻偺擔晅宍幃偺暥帤楍
	 */
	public static String Str2Date3(String strDate) {

		if (strDate == null || strDate.equals("")) {
			return "";
		}
		StringBuffer stbDate = null;

		if (strDate.length() == 6) {
			stbDate = new StringBuffer(strDate);
			stbDate.insert(2, "/");
			stbDate.insert(5, "/");
		} else if (strDate.length() == 8) {
			strDate = strDate.substring(2);
			stbDate = new StringBuffer(strDate);
			stbDate.insert(2, "/");
			stbDate.insert(5, "/");
		} else {
			stbDate = new StringBuffer("");
		}
		strDate = stbDate.toString();

		return strDate;
	}

	/**
	 * 擔晅宍幃乮YY/MM/DD YYYY/MM/DD乯傪暥帤楍乮YYMMDD乯傊曄姺
	 *
	 * @param strDate
	 *            曄姺偟偨偄僨乕僞
	 * @return int 曄姺偝傟偨僨乕僞
	 */
	public static String Date3Str(String strDate) {

		StringBuffer strbuffDate = new StringBuffer();
		StringBuffer strbuffInputDate = new StringBuffer(strDate + "/");

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -