我从服务器收到这个,但我不明白 T 和 Z 是2012-08-24T09:59:59Z
什么意思,将这个字符串转换为 Date 对象的正确 SimpleDateFormat 模式是什么?
问问题
9481 次
7 回答
8
这是ISO 8601标准。您可以使用
SimpleDateFormat simpleFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
转换这个。
于 2012-08-28T10:35:03.043 回答
2
RSS 2.0 format string EEE, dd MMM yyyy HH:mm:ss z
Example: Tue, 28 Aug 2012 06:55:11 EDT
Atom (ISO 8601) format string yyyy-MM-dd'T'HH:mm:ssz
Example:2012-08-28T06:55:11EDT
try {
String str_date = "2012-08-24T09:59:59Z";
DateFormat formatter;
Date date;
formatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
date = (Date) formatter.parse(str_date);
System.out.println("Today is " + date);
} catch (ParseException e) {
System.out.println("Exception :" + e);
}
于 2012-08-28T10:34:55.243 回答
2
Z 代表祖鲁语 (UTC),这是dateTime.tz格式 ( ISO-8601 )。因此,您应该能够执行以下操作:
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
这里有一个例子:例子
于 2012-08-28T10:36:51.613 回答
1
import org.joda.time.*;
import org.joda.time.format.*;
public class Test {
public static void main(String[] args) {
String text = "2012-08-24T09:59:59Z";
DateTimeFormatter parser = ISODateTimeFormat.dateTime();
DateTime dt = parser.parseDateTime(text);
DateTimeFormatter formatter = DateTimeFormat.mediumDateTime();
System.out.println(formatter.print(dt));
}
}
或者只是检查该链接 str 到日期
于 2012-08-28T10:36:30.763 回答
0
也许使用优秀的joda 时间库将字符串转换为日期:
LocalDate myDate = new LocalDate("2012-08-28") // the constructor need an Object but is internally able to parse a String.
于 2012-08-28T11:06:00.757 回答
-1
// First parse string in pattern "yyyy-MM-dd'T'HH:mm:ss'Z'" to date object.
String dateString1 = "2012-08-24T09:59:59Z";
Date date = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'").parse(dateString1);
// Then format date object to string in pattern "MM/dd/yy 'at' h:mma".
String dateString2 = new SimpleDateFormat("MM/dd/yy 'at' h:mma").format(date);
System.out.println(dateString2); // 08/24/12 at 09:59AM
我认为这可能对你有用。
于 2012-08-28T10:36:38.903 回答