java 时间有关常用方法

本文介绍了如何进行日期时间的转换、计算日期间差值、获取当前日期等实用方法,并提供了手机号与邮箱的部分加密显示技术。
/** 
     * 时间戳转日期 
     * @param ms 
     * @return 
     */  
    public  Date transForDate(long ms){
        long msl=(long)ms*1000;  //视情况乘1000或者除1000
        SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");  
        Date temp=null;  
        if(!ToolsUtil.isEmpty(ms)){  
            try {  
                String str=sdf.format(msl);  
                temp=sdf.parse(str);  
            } catch (ParseException e) {  
                e.printStackTrace();  
            }  
        }  
        return temp;  
    }  
      
    /** 
     * 日期转时间戳 
     * @param date 
     * @return 
     */  
    public long transForMilliSecond(String dateNumber){//得到13位的时间戳
    	 Long startDay = (long) 0;
    	try {
	    	SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
			//String dateNumber = format.format(new Date());
	        Date dateStart = format.parse(dateNumber);
			startDay = (Long) (dateStart.getTime());
       
		} catch (ParseException e) {
			e.printStackTrace();
		}
        return startDay;
    }  
	
	
	/**
	 * 获取当前日期
	 * @return
	 */
    public String dateYMD() {  
        Date d = new Date();  
        System.out.println(d);  
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");  
        String dateNowStr = sdf.format(d);  
        System.out.println("格式化后的日期:" + dateNowStr);  
          
//        String str = "2012-1-13 17:26:33";  //要跟上面sdf定义的格式一样  
//        Date today = sdf.parse(str);  
//        System.out.println("字符串转成日期:" + today);  
        
        return dateNowStr;
    }  
	
 /**
  * 获取当前日期  -减一天
  * @return
  */
public String dateYMDjian1t() {  
   Calendar calendar = Calendar.getInstance();    
  calendar.setTime(new Date());    
  calendar.add(Calendar.DATE, -1);
  Date d = calendar.getTime();
  SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");  
  String dateNowStr = sdf.format(d);  
  return dateNowStr;
} 
	    

  

 /** 
     * 计算两个日期之间差的天数
     *  
     * @param ts1   时间戳1 
     * @param ts2   时间戳2 
     * @return 
     */  
    public static int caculate2Days(Integer ts1, Integer ts2) {  
        Date firstDate = DateFormatUtil.transForDate(ts1);  
        Date secondDate = DateFormatUtil.transForDate(ts2);  
        Calendar calendar = Calendar.getInstance();  
        calendar.setTime(firstDate);  
        int dayNum1 = calendar.get(Calendar.DAY_OF_YEAR);  
        calendar.setTime(secondDate);  
        int dayNum2 = calendar.get(Calendar.DAY_OF_YEAR);  
        return Math.abs(dayNum1 - dayNum2);  
    }  
      
    /** 
     * 给手机加密中间四位加星号 
     *  
     * @param mobile 
     * @return 
     */  
    public String mobileSerect(String mobile){  
        if(!StringUtils.isBlank(mobile)){  
            int between = mobile.length()/2;  
            mobile = mobile.substring(0, between-2)+"****"+mobile.substring(between+2, mobile.length());  
        }  
        return mobile;  
    }  
      
    /** 
     * 给邮箱加密加星号 
     *  
     * @param email 
     * @return 
     */  
    public String emailSerect(String email) {  
        if(!StringUtils.isBlank(email)){  
            int length = email.lastIndexOf("@");  
            email = email.substring(0, 2)+"****"+email.substring(length-2, email.length());  
        }  
        return email;  
    }  

  

  /** 
     * 获取传入时间和当前时间的时间差 
     * @return 
     */  
    public static Long getTimediff(int timeStamp){  
        Date d1 = DateFormatUtil.transForDate(timeStamp);  
        Date today = new Date();  
        if(d1.getTime()<today.getTime()){  
            return null;  
        }  
        return (d1.getTime()-today.getTime())/1000;  
    }  
  

  

 /** 
     * 获取某周的第一天日期 
     * @param week 0 当周 1 上一周 -1 下一周 
     * @return 
     */  
    public static String weekFirstDay(int week){  
        Calendar c1 = Calendar.getInstance();  
        int dow = c1.get(Calendar.DAY_OF_WEEK);  
        c1.add(Calendar.DATE, -dow-7*(week-1)-5 );  
        String d1 = new SimpleDateFormat("yyyy-MM-dd").format(c1.getTime());  
        return d1+" 00:00:00";  
    } 

  

 /** 
     * 获取某周的最后一天日期 
     * @param week 
     * @return 
     */  
    public static String weekLastDay(int week){  
        Calendar c1 = Calendar.getInstance();  
        int dow = c1.get(Calendar.DAY_OF_WEEK);  
        c1.add(Calendar.DATE, -dow-7*(week-1)+1);  
        String d1 = new SimpleDateFormat("yyyy-MM-dd").format(c1.getTime());  
        return d1+" 23:59:59";  
    }   

  

  

转载于:https://www.cnblogs.com/jianghengchao/p/9149439.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值