問題タブ [rfc3339]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - NSDateFormatter で ISO 8601/RFC 3339 タイムゾーンを解析するにはどうすればよいですか?
次のような日付文字列があります ( ISO 8601 の日付と時刻の組み合わせ表現または RFC 3339):
2010-09-04T19:13:00Z
しかし、このタイムゾーン形式を受け入れるように NSDateFormatter を構成するにはどうすればよいでしょうか?
python - たとえば、Python strptimeを使用して2010-04-24T07:47:00.007 + 02:00を解析する方法
Pythonのstrptimeメソッドを使用して、タイトルで説明されている形式を解析する方法を知っている人はいますか?
私はこれに似たものを持っています:
これがどんなタイムフォーマットなのかわからないようです。ちなみに、私はPython言語の初心者です(C#に慣れています)。
アップデート
これは私が以下のアドバイス(回答)に基づいてコードを変更した方法です:
cocoa - iOS4.xおよびMacOSX10.6でNSDateFormatterを使用してrfc3339の日付を解析する:不可能ですか?
一般的な場合、NSDateFormatterを使用してrfc3339の日付を解析することは不可能のようです。私が間違っている?[2年後に編集:今や方法があります!以下および脚注を参照してください。]
特に柔軟ではないWebサービスは、次のような日付を私に提供しています。
Rfc3339に準拠し、使用しているjaxbライブラリのデフォルト出力。オフセットがリテラル「z」でない場合にrfc3339が必要とするコロンに注意してください。
これらをNSDatesに解析したいと思います。
NSDateFormatterは、Unicodeで指定された構文のパターンを必要とします。これは、「PDT」、「-0800」、「GMT-08:00」などのタイムゾーンの日付フィールドシンボルを提供しますが、「-08:00」は提供しません。
グーグル、および他の同様のSOの質問は、次のような日付形式のみを生成します
後者は文字通りの「Z」を必要とし、前者はコロンがないか「GMT」が存在することを主張します。ただし、これらはios 4.xより前では機能しているように見えました(おそらくtzオフセットを完全に破棄することにより、私のデータは明確ではありません)。
この時点での私のオプションは申し訳ありませんがたくさんあります:
- 文書化されていないフォーマット指定子、またはNSDateFormatterを配置するための奇妙なモードを発見します。これは、漂遊コロンを受け入れます。ロングショット、おそらく存在しません。[脚注]
- すべての日付をズールー時間に変換し、「Z」を指定するようにサービス発行者を説得します。これは政治的に困難です。
- 私自身のNSFormatterサブクラスを作成するか、古き良き研究を行って
strptime_l
ください。:) - 文字列-入力を操作し、最後のコロンを取り除きます。もろくて醜いですが、抵抗が最も少ない可能性が高いパスです。
現在のNSDateFormatterは拡張機能なしで厳密にユニコードに従うという状況を正確に理解しましたか。そしてユニコードフォーマットはrfc3339の日付を完全に記述するのに不十分ですか?
[脚注]私は3年後にこれに戻って、小さな補遺に取り組みます。UnicodeとAppleは、iOS6 / OSX10.8の時点で、この機能をフォーマット文字列に追加しました。この記事の執筆時点での最新のリビジョンをその直前のリビジョンと比較し、5つの「Z」が追加されていることに注意してください。これにより「-08:00」のようなゾーン形式が生成されます。したがって、5.x / 10.7のディッチングサポートを回避できる場合は、それを行うための新しい正しい方法があります。下位互換性が必要な場合でも、これが最善のアプローチであるため、前の回答スタンドはそのままにしておきます。
objective-c - NSDateFormatter で元のタイム ゾーンを保持する
2011-01-19T20:30:00-5:00のような文字列があり、それらを NSDate に解析したいのですが、元のタイム ゾーンを維持したいと考えています。
そのスニペットは私に2011-01-20 02:30:00 +0100を与えますが、これも正しいですが、NSDate のローカル タイム ゾーン +0100 ではなく、元のタイム ゾーン -0500 を維持したいと考えています。
c# - C# DateTime - RFC 3339 形式
RFC 3339 準拠の日付文字列 (つまり、「2008-03-19T00:00:00.0000000-04:00」) を生成しようとしていますが、オフセットが無効であるという問題があるようです。私は以下を使用しています:
しかし、これは「1977-02-03T05:00:00Z」のような値で私を返します
私はまた、次のような特定の形式を使用しようとしました
しかし、同じ結果で。
この既存のリファレンスを参照してください: DateTime を解析して RFC 3339 の日付/時刻形式に変換するにはどうすればよいですか?
java - JavaでRFC3339日時を解析するにはどうすればよいですか?
datetime
HTML5入力フィールドから値として返された日付を解析しようとしています。例を見るには、Operaで試してみてください。返される日付は次のようになります2011-05-03T11:58:01Z
。
これをJavaの日付またはカレンダーオブジェクトに解析したいと思います。
理想的には、ソリューションには次のものが必要です。
- 外部ライブラリ(jar)はありません
- 受け入れ可能なすべてのRFC3339形式を処理します
- 文字列は、RFC3339の有効な日付であるかどうかを確認するために簡単に検証できる必要があります
javascript - Google Tasks API と同様の RFC 3339 タイムスタンプを生成しますか?
Google タスクと同期するアプリを作成中です。同期の一環として、ローカル タスクと API タスクを比較し、どちらが最近変更されたかを確認します。
Google の API からの各タスクには、updated
次のようなプロパティが含まれています。
アプリでタスクを更新するたびに新しいupdated
値が設定されるように、それに似たタイムスタンプを生成したいと思います。私が使用している RFC 3339 タイムスタンプを生成するには、次のようなものを生成するhttp://cbas.pandion.im/2009/10/generating-rfc-3339-timestamps-in.htmlを使用します。
問題は、ローカルの日付が新しい場合でも、API の日付が常にローカルの日付よりも「大きい」として返されることです。私はそれが2つの間の異なるフォーマットに関係していると推測しています.
ここに 2 つの日付があります。上部は Google Tasks API からのもの (約 10 分前) で、下部は 1 分前にローカルで生成されたものです。どちらが大きいかを比較すると、一番上にあることがわかります。
私のフォーマットは間違っていますか?ここで何が間違っていますか?これに関するヘルプは本当に感謝しています。
python - Python で RFC 3339 タイムスタンプを生成する
Python でRFC 3339 UTC タイムスタンプを生成しようとしています。これまでのところ、次のことができました。
私の問題は、UTC オフセットの設定にあります。
docsによると、 classmethoddatetime.now([tz])
は、オプションのtz
引数 where tz must be an instance of a class tzinfo subclass
、およびdatetime.tzinfo
isを取りますan abstract base class for time zone information objects.
ここで迷ってしまいます。なぜ tzinfo は抽象クラスなのですか? また、どのように実装すればよいのでしょうか?
(注: PHP では と同じくらい単純timestamp = date(DATE_RFC3339);
です。そのため、Python のアプローチが非常に複雑な理由を理解できません...)
zend-framework - Zend Google Calendar API-日時形式を変更する方法は?
GoogleCalendarAPIにZendFrameworkGdataを使用しており、RFC3339の日時出力(2012-01-19T22:00:00.000-08:00のようになります)を使用しています。これをUTCに変換して、2012年1月19日午後8時から午後11時のようにするには、どのphpコードを追加する必要がありますか?RFCの日付を文字列に変換するphpコードを見つけましたが、Zend Gdata式で動作するようにコードを変更できるようにするためのphpについて十分な知識がありません...以下のコードでわかるように、「date 「」は「いつ」と呼ばれます...したがって、コードはこれら2つを何らかの方法で接続する必要があります...助けていただければ幸いです。
この情報をありがとう@vascowhite。
2つの問題:
出力は次のようになりました:string(23) "2012年1月20日:06:00"
私はグーグルカレンダーからこの情報を引き出しています、そしてそれは私のhtmlページに出力しています...私はこのphpを通して新しいイベントを作成していません...それでこのコードはあなたが書いた日付を単に変換しました、それは変換しませんでしたこのコードから取得した私のグーグルカレンダーイベントの日付:
foreach ($event->when as $when) {
echo "<td>" . $when->startTime . "</td>";
}
あなたはそれをする方法を知っていますか?
ありがとう、スーザン
objective-c - iOSでRFC3339日付文字列を解析する最も簡単な方法は何ですか?
Youtube API は日付文字列を RFC3339 形式で返します。とにかく、これは長すぎます。
関数にこれを含めることはできますが、Cocoa の基盤や標準の C または POSIX ライブラリでこれを行う方法が事前に定義されているかどうかを知りたいです。また、あるなら利用したいです。もっと簡単な方法があれば教えてください。または、これが最も簡単な方法であることを確認していただければ幸いです:)