我有一个字符串" 1427241600000"我希望它转换为" yyyy-MM-dd"格式。
我试过,但我无法解析它,请查看以下代码
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();
}
我想知道我哪里出错了。
答案 0 :(得分:9)
你应该反过来试试。首先从milliTime中获取Date,然后对其进行格式化。
String str = "1427241600000";
SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd");
Date date = new Date(Long.parseLong(str));
System.out.println(sf.format(date));
答案 1 :(得分:2)
转换在很大程度上取决于时间戳的格式。但我认为整个事情实际上应该是long
,而且只是从创建时间戳开始的系统时间。所以这应该有效:
String str = ...;
Date date = new Date(Long.parseLong(str));
答案 2 :(得分:1)
使用Date date =new Date(Long.parseLong(str));
将String转换为Date对象。
如果您使用SimpleDateFormat()
,则指定为此函数的参数的格式应与String中的日期格式匹配(在您的情况下为str)。在您的情况下,yyyy-MM-dd
与时间戳(1427241600000)的格式不匹配。
答案 3 :(得分:0)
你可以这样做:
使用带有适当格式字符串的SimpleDateFormat(小心使用正确的格式字母,大写和小写有不同的含义!)。
DateFormat format = new SimpleDateFormat("MMddyyHHmmss");
Date date = format.parse("022310141505");