我想在java中将字符串日期转换为时间戳。下面是我写的代码,我声明date1的日期是: 7-11-11 12:13:14。
SimpleDateFormat datetimeFormatter1 = new SimpleDateFormat(
"yyyy-MM-dd hh:mm:ss");
Date lFromDate1 = datetimeFormatter1.parse(date1);
System.out.println("gpsdate :" + lFromDate1);
Timestamp fromTS1 = new Timestamp(lFromDate1.getTime());我想把7-11-11 12:13:14这个字符串日期转换成时间戳。现在我得到的输出是0007-11-11 00:13:14.000000 +05:30:00,但是我想要( 7-11-11 12:13:14)这个格式的时间戳日期。有谁能帮帮我。谢谢。
发布于 2010-04-30 13:09:18
您只需将java.text.SimpleDateFormat构造函数中的字符串更改为:"MM-dd-yyyy HH:mm:ss“。
只需使用适当的字母来构建上述字符串,以匹配您的输入日期。
发布于 2015-10-27 17:03:14
tl;dr
java.sql.Timestamp
.valueOf( // Class-method parses SQL-style formatted date-time strings.
"2007-11-11 12:13:14"
) // Returns a `Timestamp` object.
.toInstant() // Converts from terrible legacy classes to modern *java.time* class.java.sql.Timestamp.valueOf解析SQL格式
如果您可以使用完整的四位数字表示年份,那么您的2007-11-11 12:13:14输入字符串将采用标准的SQL格式,假设此值使用的是协调世界时的时区。
java.sql.Timestamp类有一个valueOf方法来直接解析这样的字符串。
String input = "2007-11-11 12:13:14" ;
java.sql.Timestamp ts = java.sql.Timestamp.valueOf( input ) ;java.time
在Java8和更高版本中,java.time框架使验证结果变得更容易。当通过toString方法生成字符串表示时,j.s.Timestamp类有一个不好的习惯,就是隐式地应用您的JVM的当前默认时间戳。相反,默认情况下,java.time类使用标准ISO 8601格式。
System.out.println( "Output: " + ts.toInstant().toString() );发布于 2017-10-07 00:08:43
您可以将字符串转换为时间戳:
String inDate = "01-01-1990"
DateFormat df = new SimpleDateFormat("MM-dd-yyyy");
Timestamp ts = new Timestamp(((java.util.Date)df.parse(inDate)).getTime());https://stackoverflow.com/questions/2742380
复制相似问题