我有一个数据库,其中包含以下格式的时间戳:
Wed Feb 29 20:56:47 +0000 2012
Wed Feb 29 00:32:48 +0000 2012
Fri Apr 01 00:10:30 +0000 2011
我需要将时间转换为大纪元来轻松进行计算。
我希望它们自1970年以来就是秒(就像System.currentTimeMillis()/1000
所做的那样)
java是否有一些方法或者我必须解析并计算它?提前谢谢。
答案 0 :(得分:3)
嗯,你必须解析它,但这对SimpleDateFormat
来说很容易:
SimpleDateFormat format = new SimpleDateFormat("E MMM dd HH:mm:ss Z yyyy",
Locale.US);
Date date = format.parse(text);
long secondsSinceEpoch = date.getTime() / 1000;
另一方面,如果您将数据库中的值以更合适的列类型存储起来,那将会更好。你真的将它们存储为文本吗?如果是这样,为什么?