package com.jthink.skyeye.base.util; import com.jthink.skyeye.base.constant.Constants; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; /** * JThink@JThink * * @author JThink * @version 0.0.1 * @desc 时间相关的util * @date 2016-09-26 10:39:45 */ public class DateUtil { public final static String YYYYMMDD = "yyyy-MM-dd"; public final static String YYYYMMDDHHmmss = "yyyyMMddHHmmss"; public final static String YYYYMMDDHHMMSS = "yyyy-MM-dd HH:mm:ss"; public final static String YYYYMMDDHHMMSSSSS = "yyyy-MM-dd HH:mm:ss.SSS"; /** * 根据传入的Date和转换格式对日期进行格式化,并返回字符串表式形式 * * @param date * @param format * @return */ public static String parse(Date date, String format) { if (date == null) { return Constants.EMPTY_STR; } if (format == null || format.equals(Constants.EMPTY_STR)) { format = YYYYMMDD; } try { SimpleDateFormat sdf = new SimpleDateFormat(format); return sdf.format(date).toString(); } catch (Exception ex) { return ""; } } /** * date转String * @param date * @param format * @return */ public static String format(Date date, String format) { try { return parse(date, format); } catch (Exception ex) { return Constants.EMPTY_STR; } } /** * 根据给定的day和time返回时间(2016-11-23 16:42:40) * @param day * @param time * @return */ public static String getTime(String day, String time) { return day + Constants.SPACE + time.split(Constants.POINT)[0]; } /** * 返回月的第几周 * @param day * @return */ public static String getWeek(String day) { String[] ymd = day.split(Constants.MIDDLE_LINE); SimpleDateFormat sdf = new SimpleDateFormat(YYYYMMDD); Date date = null; try { date = sdf.parse(day); } catch (ParseException e) { return Constants.EMPTY_STR; } Calendar calendar = Calendar.getInstance(); calendar.setFirstDayOfWeek(Calendar.MONDAY); calendar.setTime(date); int weekOfMonth = calendar.get(Calendar.WEEK_OF_MONTH); return ymd[0] + Constants.MIDDLE_LINE + ymd[1] + Constants.COLON + weekOfMonth; } /** * 得到当前日期和时间的字符串表示形式 * * @return */ public static String getDateTimeStr() { return parse(new Date(), YYYYMMDDHHMMSS); } }