java 时间戳和时间互转工具 和 时间偏移量计算

时间互转代码片段:

     * 时间戳 转 时间 <一句话功能简述> <功能详细描述>
     * 
     * @param beginDate
     * @return
     * @see [类、类#方法、类#成员]
     */
    public static String timeStampToTime(String beginDate)
    {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        
        Date date = new Date(Long.parseLong(beginDate) * 1000);
        
        String time = sdf.format(date);
        
        return time;
        
    }
    
    /**
     * 时间戳 转 时间 <一句话功能简述> <功能详细描述>
     * 
     * @param beginDate
     * @return
     * @see [类、类#方法、类#成员]
     */
    public static String timeStampToTime(String beginDate,String format)
    {
        SimpleDateFormat sdf = new SimpleDateFormat(format);
        
        Date date = new Date(Long.parseLong(beginDate) * 1000);
        
        String time = sdf.format(date);
        
        return time;
        
    }
    
    /**
     * 时间 转 时间戳 <一句话功能简述> <功能详细描述>
     * 
     * @param beginDate
     * @return
     * @see [类、类#方法、类#成员]
     */
    public static String timeToTimeStamp(String beginDate)
    {
        String result = null;
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        Date date;
        try
        {
            date = format.parse(beginDate);
            long timeStamp = date.getTime();
            String tmpTime = String.valueOf(timeStamp);
            result = tmpTime.substring(0, tmpTime.length());
        }
        catch (ParseException e)
        {
            e.printStackTrace();
        }
        return result;
        
    }
    
    /**
     * 时间 转 时间戳 <一句话功能简述> <功能详细描述>
     * 
     * @param beginDate
     * @return
     * @see [类、类#方法、类#成员]
     */
    public static String timeToTimeStamp(String beginDate,String sformat)
    {
        String result = null;
        SimpleDateFormat format = new SimpleDateFormat(sformat);
        Date date;
        try
        {
            date = format.parse(beginDate);
            long timeStamp = date.getTime();
            String tmpTime = String.valueOf(timeStamp);
            result = tmpTime.substring(0, tmpTime.length());
        }
        catch (ParseException e)
        {
            e.printStackTrace();
        }
        return result;
        
    }
    
    public static void main(String[] args)
    {
        long curr = System.currentTimeMillis();
        System.out.println(curr);
        
        System.out.println(timeStampToTime(curr +""));
        
        System.out.println(timeToTimeStamp(timeStampToTime(curr +"")));
    }
时间偏移量
import java.util.Calendar;
import java.util.Date;


/**
 * 操作时间的集合类
 * 
 * @author kuanner
 */
public class DateUtil
{
    
    /**
     * 给定的时间,按照分钟进行偏移
     * 
     * @param date 给定的时间
     * @param offset 偏移量
     * @return 偏移后的时间
     */
    public static Date modifiyMinute(Date date, int offset)
    {
        
        return modifiyDate(date, Calendar.MINUTE, offset);
    }
    
    /**
     * 给定的时间,按照秒进行偏移
     * 
     * @param date 给定的时间
     * @param offset 偏移量
     * @return 偏移后的时间
     */
    public static Date modifiySecond(Date date, int offset)
    {
        
        return modifiyDate(date, Calendar.SECOND, offset);
    }
    
    /**
     * 给定的时间,按照小时进行偏移
     * 
     * @param date 给定的时间
     * @param offset 偏移量
     * @return 偏移后的时间
     */
    public static Date modifiyHour(Date date, int offset)
    {
        
        return modifiyDate(date, Calendar.HOUR_OF_DAY, offset);
    }
    
    /**
     * 给定的时间,按照年份进行偏移
     * 
     * @param date 给定的时间
     * @param offset 偏移量
     * @return 偏移后的时间
     */
    public static Date modifiyYear(Date date, int offset)
    {
        
        return modifiyDate(date, Calendar.YEAR, offset);
    }
    
    /**
     * 给定的时间,按照月份进行偏移
     * 
     * @param date 给定的时间
     * @param offset 偏移量
     * @return 偏移后的时间
     */
    public static Date modifiyMonth(Date date, int offset)
    {
        
        return modifiyDate(date, Calendar.MONTH, offset);
    }
    
    /**
     * 给定的时间,按照天数进行偏移
     * 
     * @param date 给定的时间
     * @param offset 偏移量
     * @return 偏移后的时间
     */
    public static Date modifiyDayOfMonth(Date date, int offset)
    {
        
        return modifiyDate(date, Calendar.DAY_OF_MONTH, offset);
    }
    
    /**
     * 给定时间,按照指定的类型进行偏移
     * 
     * @param date 给定的时间
     * @param calendarFiled 指定的偏移类型(年 或 月 或 日 等等)
     * @param offset 偏移量
     * @return 偏移后的时间
     */
    private static Date modifiyDate(Date date, int calendarFiled, int offset)
    {
        if (date == null)
        {
            throw new IllegalArgumentException("传递的时间有误");
        }
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(date);
        calendar.add(calendarFiled, offset);
        return new Date(calendar.getTimeInMillis());
    }
    
}
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值