在java中常常需要用到,获得指定时间的时间戳。
下面的程序是我写的生成10位时间戳的代码,
package test;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.text.DateFormat;
import java.util.Calendar;
public class Main {
public static void main(String[] args) throws ParseException {
DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
java.util.Date date = df.parse("2017-08-07");
Calendar cal = Calendar.getInstance();
cal.setTime(date);
long timestamp = cal.getTimeInMillis();
System.out.println(timestamp/1000);
}
}
如果想生成13位的时间戳,需要把timestamp直接输出就可以,不需要除以1000即可。
踩的坑:
1、引入的date为java.util.date,不是java.sql.Date类。
java.util.Date date = df.parse("2017-08-07");
2、
df.parse("2017-08-07");
此处,需要“2017-08-07”格式,不可写为“20170807”