java如何将字符串时间戳转换为毫秒 1 周,5 日 Questions & Answers 1866 我正在oracle sql上运行一个查询,它以字符串形式返回sysdate的时间戳部分 比如“16:30:0.0” 所以我想知道如何把它转换成毫秒 请帮忙
# 1 楼答案 这是使用标准的JavaDateAPI DateFormat df = new SimpleDateFormat("HH:mm:ss.SSS"); df.setTimeZone(TimeZone.getTimeZone("UTC")); df.parse("16:06:43.233").getTime(); 如果您使用的是Java8,请参阅新的java.timeAPI。如果没有,您将要做大量与日期时间相关的工作,请参见JodaTime
# 2 楼答案 使用ResultSet的getTime(column)-方法而不是getString(column)来避免自己进行转换:http://docs.oracle.com/javase/7/docs/api/java/sql/ResultSet.html#getTime%28int%29
# 3 楼答案 试试这个 SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss.SSS"); Date date = sdf.parse("16:30:0.0"); System.out.println(date.getTime()); 但是,此代码将返回毫秒,因为01.01.1970 16:30:00.000。如果您想从当前日期获取毫秒,可以执行以下操作 Calendar today = Calendar.getInstance(); Calendar cal = Calendar.getInstance(); cal.setTime(date); cal.set(Calendar.YEAR, today.get(Calendar.YEAR)); cal.set(Calendar.MONTH, today.get(Calendar.MONTH)); cal.set(Calendar.DAY_OF_MONTH, today.get(Calendar.DAY_OF_MONTH)); System.out.println(cal.getTimeInMillis());
# 1 楼答案
这是使用标准的JavaDateAPI
如果您使用的是Java8,请参阅新的
java.time
API。如果没有,您将要做大量与日期时间相关的工作,请参见JodaTime# 2 楼答案
使用ResultSet的getTime(column)-方法而不是getString(column)来避免自己进行转换:http://docs.oracle.com/javase/7/docs/api/java/sql/ResultSet.html#getTime%28int%29
# 3 楼答案
试试这个
但是,此代码将返回毫秒,因为01.01.1970 16:30:00.000。如果您想从当前日期获取毫秒,可以执行以下操作