java时间的转换以及时间的比较

来源:互联网 发布:淘宝快递拒签运费谁负 编辑:程序博客网 时间:2024/04/30 08:50
通常来说,java中的时间转用到SimpleDateFormat类。

SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置时间转换的格式。df.format将Date型转变为String型 df.parse将String型转化为Date型。具体使用方法如下

取得当前时间/** * getNowDate *  * @return Date * @throws ParseException */public static Date getNowDate() throws ParseException {SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");Date DateTimeNow = df.parse(df.format(new Date()));return DateTimeNow;}/** * getNowDateS *  * @return String * @throws ParseException */public static String getNowDateS() throws ParseException {SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");String DateTimeNow = df.format(new Date());return DateTimeNow;}将各种时间格式转变为yyyyMMdd/** * formtData *  * @param data * @return * @throws ParseException */public static String formtData(String data) throws ParseException {if (formtJapanData(data)) {Locale locale = new Locale("ja", "JP", "JP");SimpleDateFormat jformat = new SimpleDateFormat("GGyy.MM.dd", locale);SimpleDateFormat yformat = new SimpleDateFormat("yyyyMMdd");String strDate = yformat.format(jformat.parse(data));return strDate;} else if (formtYYYYSMMSDD(data) || formtYYYYMMDD(data)) { //yyyy/MM/dd或者yyyyMMdddata = data.replace("/", "");SimpleDateFormat df = new SimpleDateFormat("yyyyMMdd");Date dateNew = df.parse(data);String date = df.format(dateNew);return date;}else if (formtYYYYSMSD(data)) { //yyyy/M/dd或者yyyy/MM/dDate date = FormatDate(data, "yyyy/MM/dd");String totalymd = FormatDate(date, "yyyyMMdd");return totalymd;} else if (formtYYYYPMMPDD(data)) {//yyyy.MM.ddDate dateNew = FormatDate(data, "yyyy.MM.dd");SimpleDateFormat df = new SimpleDateFormat("yyyyMMdd");String date = df.format(dateNew);return date;} else if (formtYYSMMSDD(data)) {//yy/MM/ddDate dateNew = FormatDate(data, "yy/MM/dd");SimpleDateFormat df = new SimpleDateFormat("yyyyMMdd");String date = df.format(dateNew);return date;} else if (formtYYPMMPDD(data)) {//yy.MM.ddDate dateNew = FormatDate(data, "yy.MM.dd"); SimpleDateFormat df = new SimpleDateFormat("yyyyMMdd");String date = df.format(dateNew);return date;} /*else if (formtYYMMDD(data)) {//yyMMddDate dateNew = FormatDate(data, "yyMMdd");SimpleDateFormat df = new SimpleDateFormat("yyyyMMdd");String date = df.format(dateNew);return date;}*/else if (formtYYYYSMM(data)) {//yyyy/MMDate dateNew = FormatDate(data, "yyyy/MM");SimpleDateFormat df = new SimpleDateFormat("yyyyMMdd");String date = df.format(dateNew);return date;}else if (formtYYYYMM(data)) {//yyyyMMDate dateNew = FormatDate(data, "yyyyMM");SimpleDateFormat df = new SimpleDateFormat("yyyyMMdd");String date = df.format(dateNew);return date;}else if(formtOtherYMD(data)){//其他格式。例如1-Aug-15SimpleDateFormat df = new SimpleDateFormat("yyyyMMdd");String date = df.format(new Date(data));return date;}return null;}/** * formtYYYYSMMSDD *  * @param data * @return boolean */public static boolean formtYYYYSMMSDD(String data) {if (data.length() != 10) {return false;}try {FormatDate(data, "yyyy/MM/dd");} catch (ParseException e) {return false;}return true;}/** * formtYYYYMMDD *  * @param data * @return boolean */public static boolean formtYYYYMMDD(String data) {if (data.length() != 8) {return false;}try {FormatDate(data, "yyyyMMdd");} catch (ParseException e) {return false;}return true;}/** * formtYYYYSMSD *  * @param data * @return boolean */public static boolean formtYYYYSMSD(String data) {if (data.length() != 9) {return false;}try {FormatDate(data, "yyyy/MM/dd");} catch (ParseException e) {return false;}return true;}/** * formtYYYYPMMPDD *  * @param data * @return */public static boolean formtYYYYPMMPDD(String data) {if (data.length() != 10) {return false;}try {FormatDate(data, "yyyy.MM.dd");} catch (ParseException e) {return false;}return true;}/** * formtYYSMMSDD *  * @param data * @return */public static boolean formtYYSMMSDD(String data) {if (data.length() != 8) {return false;}try {FormatDate(data, "yy/MM/dd");} catch (ParseException e) {return false;}return true;}/** * formtYYPMMPDD *  * @param data * @return */public static boolean formtYYPMMPDD(String data) {if (data.length() != 8) {return false;}try {FormatDate(data, "yy.MM.dd");} catch (ParseException e) {return false;}return true;}/** * formtYYYYSMM *  * @param data * @return boolean */public static boolean formtYYYYSMM(String data) {if (data.length() != 7) {return false;}try {FormatDate(data, "yyyy/MM");} catch (ParseException e) {return false;}return true;}/** * formtYYYYMM *  * @param data * @return boolean */public static boolean formtYYYYMM(String data) {if (data.length() != 6) {return false;}try {FormatDate(data, "yyyyMM");} catch (ParseException e) {return false;}return true;}/** * formtYYYYMM *  * @param data * @return boolean */public static boolean formtOtherYMD(String data) {try {SimpleDateFormat df = new SimpleDateFormat("yyyyMMdd");df.format(new Date(data));} catch (Exception e) {return false;}return true;}/** * FormatDate *  * @param date * @param format * @return Date * @throws ParseException */public static Date FormatDate(String date, String format) throws ParseException {SimpleDateFormat sf = new SimpleDateFormat(format);Date dateNew = sf.parse(date);return dateNew;}
java时间的比较

/** * CompareTo *  * @param selectDate * @param updateDate * @return int * @throws ParseException */public static int CompareTo(String selectDate, Date updateDate) throws ParseException {SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");//时间格式:年月日时分秒毫秒Date dateTimeSelect = df.parse(selectDate);if (null != dateTimeSelect) {long selectTime = dateTimeSelect.getTime(); //返回时间的毫秒级,类型为long型long updateTime = updateDate.getTime();if (selectTime > updateTime) {return 1;} else {return -1;}}return 1;}

0 0
原创粉丝点击