JAVA功能全面的日期控件

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
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值