如何在java中将时间戳字符串转换为日期
我有一个字符串“1427241600000”,我想把它转换成“yyy-MM-dd”格式 我已经试过了,但是我无法解析它,请查看下面的代码如何在java中将时间戳字符串转换为日期,java,string,parsing,Java,String,Parsing,我有一个字符串“1427241600000”,我想把它转换成“yyy-MM-dd”格式 我已经试过了,但是我无法解析它,请查看下面的代码 try { String str = "1427241600000"; SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd"); Date date =sf.parse(str); System.out.println(date); } catch (Pa
try {
String str = "1427241600000";
SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd");
Date date =sf.parse(str);
System.out.println(date);
} catch (ParseException e) {
e.printStackTrace();
}
我想知道我哪里出错了。你应该换个方向试试。首先从毫秒时间中取出日期,然后格式化它
String str = "1427241600000";
SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd");
Date date = new Date(Long.parseLong(str));
System.out.println(sf.format(date));
使用
datedate=newdate(Long.parseLong(str))
将字符串转换为日期对象
如果使用的是
SimpleDataFormat()
则指定为此函数参数的格式应与字符串中日期的格式相匹配(在本例中为str)。在您的情况下,yyyy-MM-dd
与时间戳的格式(1427241600000)不匹配。转换在很大程度上取决于时间戳的格式。但是我假设整个过程实际上应该是一个长的,并且只是从创建时间戳开始的systemtime。因此,这应该是可行的:
String str = ...;
Date date = new Date(Long.parseLong(str));
您可以这样做:
使用带有适当格式字符串的SimpleDataFormat(注意使用正确的格式字母,大写和小写有不同的含义!)
或者您可以使用java.sql.Timestamp。我建议使用parseLong
而不是valueOf
,因为您需要long
而不是long
DateFormat format = new SimpleDateFormat("MMddyyHHmmss");
Date date = format.parse("022310141505");