📄 jmendateutil.java
字号:
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 + -