TimeStemp时间戳

时间戳把精度精确到秒、分钟的方法

时间戳和时间之间的转换

package zll.material.timeStemp;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.junit.Test;

public class TimeStemp {
	/**
	 * 该测试用例测试只要分钟精度时间戳应该如何处理:
	 * 时间戳除以60取商再乘以60即可将时间戳精确到分钟级别:
	 * 
	 * */
	@Test
	public void test01() {
		long l = 1515032200L;//2018/1/4 10:16:40
		l = l/60;
		System.out.println("2018/1/4 10:16:40的分钟时间戳"+l);
		long f = 1515032210L;//2018/1/4 10:16:50
		f = f/60;
		System.out.println("2018/1/4 10:16:50的分钟时间戳"+f);
		long f1 = f*60;
		System.out.println(f1);
		long l1 = l*60;
		System.out.println(l1);
	}
	/**
	 * 测试将时间戳字符串转化为格式化时间
	 * 测试将格式化时间转化为时间戳
	 */
	@Test
	public void test02(){
        String timeStemp = timeStemp();//获取到精确到秒的时间戳字符串
        System.out.println(timeStemp);
        System.out.println(System.currentTimeMillis());//运行输出:1470278082980
        //该方法的作用是返回当前的计算机时间,时间的表达格式为当前计算机时间和GMT时间(格林威治时间)1970年1月1号0时0分0秒所差的毫秒数
        String timeStamp2Date = timeStamp2Date(timeStemp, null);//将时间戳转化为时间
        System.out.println(timeStamp2Date);
        String date2TimeStemp = date2TimeStemp(timeStamp2Date, null);//将时间转化为时间戳
        System.out.println(date2TimeStemp);
	}
	/**
	 * 将时间戳字符串转化为格式化时间
	 * @param secondes 时间戳字符串
	 * @param format 时间格式
	 * @return 格式化时间
	 */
	public static String timeStamp2Date(String secondes,String format){
		if(secondes==null||secondes.isEmpty()||secondes.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(secondes+"000")));
	}
	/**
	 * 将格式化时间转化为时间戳
	 * @param date_str 时间字符串
	 * @param format 时间格式
	 * @return 时间戳字符串
	 */
	public static String date2TimeStemp(String date_str,String format){
		if(date_str==null||date_str.isEmpty()||date_str.equals("null")){
			return "";
		}
		if(format==null||format.isEmpty()){
			format = "yyyy-MM-dd HH:mm:ss";
		}
		try {
			SimpleDateFormat sdf = new SimpleDateFormat(format);
			return String.valueOf(sdf.parse(date_str).getTime()/1000);
		} catch (ParseException e) {
			e.printStackTrace();
		}
		return "";
	}
	/**
	 * 获取当前时间戳(精确到秒)
	 * @return 时间戳字符串
	 */
	public static String timeStemp(){
		long currentTimeMillis = System.currentTimeMillis();
		String time = String.valueOf(currentTimeMillis/1000);
		return time;
	}
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值