月の長さ、うるう年などを考慮した期間を保存および操作する方法はありますか?

StackOverflow https://stackoverflow.com/questions/1608175

質問

これを自分で作成しようとしていましたが、これは存在しなければならないことを知っており、私を直接導くすべてのGoogleキーワードを避けようとしています。

DDDMMMYYYのようなものを探しています。D、M、Yは日数、月数、年数です。したがって、00103000は3か月と1日のスパンを示し、000000001は1年のスパンを示します。理想的には、この形式は、月、うるう年などの日数の変化など、タイムスパン計算のすべての落とし穴を考慮できる標準的な方法を適用することも理想的です

ここで尋ねられたように、2つの既知のタイムスタンプ間のタイムスパンを計算する方法を探していません( C#で相対時間を計算)、既知の日付から2番目の未知の日付を決定するために使用される期間を示す、保存できる特定の文字列形式のようなものを探しています。

上記の架空の形式を使用する場合:「2009年9月15日から00103000になる日付を計算する」と言った場合、 「2009年12月16日」を返します。これは9月15日の3か月後の1日です。

役に立ちましたか?

解決

期間については、 ISO 8061 形式を確認することをお勧めします。解析して特定の日付に適用するのは簡単であるだけでなく、多くのリソースが利用できるよく知られた標準です。

2つの時点から期間を決定するのは少し難しいですが、アプリケーションからの入力がないため、3月1日から6月1日までの期間が3か月か92日間かは不明です。それにもかかわらず、この形式は、0.25年などと同様にどちらでも表現できます。

他のヒント

これの最も単純で最も一般的な表現は、数値です:タイムスパンの秒数(必要に応じて、小数である場合とそうでない場合があります)。多くのタイムライブラリはすでにエポックからの秒数として時間を表しているので、これにより加算と減算が行われます時間の些細な。懸念される唯一の主要な問題はオーバーフローです(例: 2038年のバグ)。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top