3

の仕様strptime:

http://pubs.opengroup.org/onlinepubs/9699919799/functions/strptime.html

可能な変換仕様とそれらが必要とする入力については、ほとんど明確です。ただし、この関数が結果を に格納する方法についての仕様はないようstruct tmです。複数の指定子が部分的または完全に競合するデータを読み取るとどうなるか。簡単な例としては、両方の%mand %b(または%m's の重複) が競合する月を読み取る場合がありますが、より興味深い例として、%d(月の日付) と%a(曜日) が競合する場合があります。どちらが優先されますか?strptimeで一貫した出力を保証することになっていますstruct tmか、それともフィールドをそのまま保存するだけですか? %W(年の週)のような特定のものは、struct tm、したがって、他のフィールドに基づいて派生出力が生成される必要があると思いますが、これがいつ適用されるかは不明です。

仕様が不足しているように見えるので、単に存在しない回答を求めている可能性がありますが、役立つ回答を特徴付けることができるものは次のとおりです。

  • 標準化された関数が基づいていた歴史的な実装の動作。
  • 関連する欠陥レポートの引用
  • トピックに関する過去の議論へのリンク (メーリング リスト、バグ トラッカー、usenet など)
  • 時間解析に関するその他の関連規格
4

1 に答える 1

2

追加フィールドは、日付の検証に使用できます。検証と検証。文字列を日付を表す一連の数値に変換できます。次に、これらの数値がすべて 1 つの正しい日付を参照していることを確認する必要がありstrptimeます。 NULL.

于 2011-08-17T03:00:21.797 に答える