0

C# で記述された ASP.NET Web アプリ用に、元々 (「double」変数として) 時間単位で表されていた期間をフォーマットする方法を探しています。重要な値が 2 つしかない短いバージョンが必要です。例えば:

1h:20m
2d:20h 
2mo:12d 
5y:2mo

検索したところ、C# には必要な機能が組み込まれていないようです。

だから私は自分で書くことにしましたが、すべての部分の正しいフォーマットに困惑しています。たとえば、「1d:24h」などの文字列を取得したり、単純な 2 か月の場合は「1mo:29d」を取得したりすることがあります。

PS。私が遭遇した問題は、1 か月と 1 年の日数を定義することです。

4

1 に答える 1

0

DateTime は面倒な作業として有名です。

どの月を参照しているかについての指示がないため、与えられた情報ではこれは不可能です。考慮している月/年に応じて、月は 28 日、29 日、30 日、31 日になります。

どの月を扱っているかについての指示がなければ、1 か月から 2 か月への切り替えは、移行を行う日についてのランダムな推測になります。これを考慮してさらに受信パラメーターを追加するか、1 か月は x 日と見なされ、x 日のみと見なされることをユーザーに説明する必要があります。

考慮すべきもう1つのことは、サマータイムです。午後 1 時 + 24 時間は、翌日の午後 1 時ではない場合があります。このような状況では、お客様またはエンド ユーザーは、23 時間 = 1 日または 25 時間 = 1 日を考慮することを希望する場合があります。

于 2012-09-30T21:44:55.320 に答える