0

現在時刻までのチェックタイムを計算して時間を取得したい。

たとえば、文字列「時間」があります...

string t1 = UserParam[12].ToString(); // "9/26"
string t2 = UserParam[13].ToString(); // "14:51\r"

ライセンス サーバーからユーザーの時間を取得するプロジェクトでそれらが必要であり、現在までの違いを示したいと考えています。これを数時間で表示したい。

所要時間 ---> 1 時間 49 分

4

3 に答える 3

3

t1は月と日、t2は時と分だと思います。

使用できますDateTime.ParseExact

string t1 = "9/26";
string t2 = "14:51";
DateTime dt = DateTime.ParseExact(string.Format("{0} {1}", t1, t2), "M/dd HH:mm", CultureInfo.InvariantCulture);
TimeSpan diff = DateTime.Now - dt;
double totalHours = diff.TotalHours;  // 0.726172292194444

編集

エラーが表示されます --> 正しい形式ではありません

のように、文字列の末尾に不要な文字があるためかもしれません"14:51\r"。それらを使用しTrimたりTrimEnd、削除したりできます。例えば:

string t2 = UserParam[13].ToString().TrimEnd(new []{ '\r', '\n' }); // 14:51
于 2013-09-26T13:34:16.420 に答える
0

DateTime.Subtract日付と時刻の差を計算するために使用できます。

string date = "9/26 14:51";
DateTime dt = DateTime.ParseExact(date, "M/dd HH:mm", CultureInfo.InvariantCulture);
TimeSpan diff = DateTime.Now.Subtract(dt);
于 2013-09-26T13:34:54.803 に答える
0

あなたはDateTime構造であなたの時間を欲しがるでしょう。文字列にタイムスタンプ情報がある場合は、 を使用DateTime.TryParseしてDateTime. ただし、文字列にタイムスタンプがある場合は、スタイル パラメーター( )でタイム ゾーン情報を指定するDateTimeStylesことが重要です。

次に、 2つのスタクトをTimeSpan減算してmake aを取得し、プロパティを使用できますDateTimeTotalHours

(dt1 - dt2).TotalHours
于 2013-09-26T13:36:15.800 に答える