时间戳把精度精确到秒、分钟的方法
时间戳和时间之间的转换
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;
}
}