获取毫秒数,即long类型的数值,仅能返回自 1970 年 1 月 1 日 00:00:00 GMT 以来的毫秒数。
一楼、二楼的回答就是正确的,不过在使用中还需要根据自身使用环境,直接使用或者进一步按需优化后再使用。
最常使用的就是,把String类型的日期先转换为Date类型,最后直接调用.getTime()即可,这也是比较方便的了。
还有就是以上提到的Timestamp类中的valueOf(String s) 方法,这里一定要注意,给定的字符串日期型数据必须符合置顶指定格式:yyyy-mm-dd hh:mm:ss[.fffffffff],否则会抛出异常。
PS>
import java.text.ParseExceptionimport java.text.SimpleDateFormat
public class Cat {
public static void main(String[] args) throws ParseException {
String str = "201104141302"
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddhhmm")
long millionSeconds = sdf.parse(str).getTime()//毫秒
System.out.println(millionSeconds)
}
}
输出结果就是:1302757320000
你干嘛要手动计算呢?SDK 放那里是让你用的!public long dateToLong (String in) {
SimpleDateFormat format = new SimpleDateFormat("y/M/d H:m:s")
Date date = format.parse(in)
Calendar cal = Calendar.getInstance()
cal.setTime(date)
return cal.getTimeMillis()
}
拷去用吧