1

重複の可能性:
ISO8601準拠の文字列をjava.util.Dateに変換する

IEとFirefoxの「topicDate」でエラーが発生するため、JSでタイムスタンプをISO 8601に変更すると問題が発生しますが、Chromeでは機能します。したがって、サーバー側でタイムスタンプをISO 8601に変更し、代わりにjson経由で送信したいと思います。標準クラスを使用して、Javaで以下のタイムスタンプをISO 8601形式に変換する方法を教えてもらえますか?このアプローチについて他の提案も歓迎します。

json経由で送信された時間

 "topic_lstUpdate" : "2012-09-07 19:39:56.439",

JSスクリプト

var topicDate = new Date(args.topic_lstUpdate);
            var topicDateISO = topicDate.toISOString();
            var topicDateTimeago=jQuery.timeago(topicDate);
4

2 に答える 2

4

サーバー側のJava内でフォーマットするには:

DateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.S'Z'");
df.setTimeZone(TimeZone.getTimeZone("UTC"));
String my8601formattedDate = df.format(new Date());

区切り文字を含めることをお勧めしますが、T両端の要件で区切り文字を除外できることが確実な場合は、区切り文字を省略することができます。詳細については、 http://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representationsを参照してください。

于 2012-09-08T00:26:56.197 に答える
0

もうすぐそこにあります。このJavaScriptを使用して変換できます。

topicDate.replace(" ", "T");
于 2012-09-08T00:29:39.297 に答える