JAVA功能全面的日期控件

mac2024-06-05  55

package xxx;

import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.Locale;

import com.xxx.utils.obj.ObjectUtils; import com.xxx.utils.string.StringUtils;

/**  * 日期函数  *   */ public final class DateUtils {  // 时间默认mormat格式  public static final String DEFAULT_FORMAT = "yyyy-MM-dd HH:mm:ss";

 public static final String FORMAT_YYYYMMDDHHMMSS = "yyyyMMddHHmmss";

 // 日志答应信息

 /**   * 获得当前时间   *    * @return   */  public static Date getCurrDate() {   return new Date(System.currentTimeMillis());  }    //得到当天最后一秒的时间  public static Date getLastSecond(Date date) throws Exception{   DateFormat format=new SimpleDateFormat("yyyy-MM-dd");    String str=format.format(date);    Date d2=format.parse(str);       long curMillisecond=d2.getTime();//当天的毫秒   int dayMis=1000*60*60*24;//一天的毫秒   long resultMis=curMillisecond+(dayMis-1); //当天最后一秒     //得到我需要的时间    当天最后一秒           Date resultDate=new Date(resultMis);   return resultDate;  }

 /**   * 操作日期的字段   *    * @param date   *            需要改变的日期   * @param field   *            需要修改的字段   * @param num   *            增加为正数,减少为负数   * @return   */  public static Date optDateField(Date date, int field, int num) {   if (ObjectUtils.isNull(date)) {    date = getCurrDate();   }

  Calendar cal = Calendar.getInstance(Locale.getDefault());   cal.setTime(date);   cal.set(field, cal.get(field) + num);   return cal.getTime();

 }

 /**   * 将字符串解析成日期格式   *    * @param str   * @param format   * @return   * @throws ParseException   */  public static Date strToDate(String str, String format) {   try {    if (StringUtils.isEmpty(format)) {     format = DEFAULT_FORMAT;    }    SimpleDateFormat df = new SimpleDateFormat(format);    return df.parse(str);   } catch (Exception e) {    // logger.debug("时间格式转换出错误,时间字符串为:".concat(str).concat("日志格式为:").concat(format),    // e);   }   return null;  }

 /**   * 时间戳转换成日期字符串   * @param second  精确到秒   * @param format  时间格式   * @return   */  public static String timeStamp2Date(Long second,String format) {     String seconds = String.valueOf(second);      if(seconds == null || seconds.isEmpty() || seconds.equals("null")){            return "";        }        if(format == null || format.isEmpty()) {       format = "yyyy-MM-dd HH:mm:ss";      }      SimpleDateFormat sdf = new SimpleDateFormat(format);        return sdf.format(new Date(Long.valueOf(seconds+"000")));    }   }

 

 

写在最后,本人只是为自己做记录,如有需要以及不解处请留言,我会及时回复

最新回复(0)