DOBON.NETプログラミング道掲示板
(現在 過去ログ1 を表示中)
HOME
HELP
新規作成
新着記事
トピック表示
発言ランク
ファイル一覧
検索
過去ログ
[
最新記事及び返信フォームをトピックトップへ
]
[ トピック内全4記事(1-4 表示) ] <<
0
>>
■33202
/ inTopicNo.1)
ミリ秒から0:00:00か0:00:00.000....の書式にしたい
▼
■
□投稿者/ まなみ
一般人(1回)-(2016/01/03(Sun) 09:20:19)
環境/言語:[C#]
分類:[.NET]
ストップウォッチのsw.ElapsedMillisecondsをつかって
処理にかかる推定残り時間を
0:00:00(時:分:秒) か
0:00:00.000....(時:分:秒.ミリ秒)
の形式で表示したいのですが
以下のようにコーディングした所
結果がずっと
0:00:00
となってしまいます。
解決方法を教えていただけましたら幸いです。
Stopwatch sw = new Stopwatch();
//省略
//
//推定終了時間
label1.Text = new DateTime((long)((float)sw.ElapsedMilliseconds * (count - i - 1) / (i + 1))).ToLongTimeString();
引用返信
削除キー/
編集
削除
■33203
/ inTopicNo.2)
Re[1]: ミリ秒から0:00:00か0:00:00.000....の書式にしたい
▲
▼
■
□投稿者/ Hongliang
大御所(507回)-(2016/01/03(Sun) 11:20:37)
DateTimeは、「時刻」を表すオブジェクトです。long値による表現では、西暦1年1月1日からの、100ナノ秒刻みの経過時間となります。
ですので、
> new DateTime((long)((float)sw.ElapsedMilliseconds * (count - i - 1) / (i + 1))).ToLongTimeString();
これは二重の錯誤があります。
「時刻」オブジェクトを「時間」オブジェクトとして扱おうとしていること、それと単位を100ナノ秒では無く1ミリ秒で扱っていることです。
// それと本題とは関係ないけど、(count - i -1) / (i + 1)って式は正しくないような気がします。それぞれの変数の意味が分からないので断言はできませんが。
「時間」オブジェクトとしては、TimeSpanという型が用意されています。
静的メソッドとしてFromMillisecondsが用意されているので、これを使ってミリ秒からTimeSpanオブジェクトを構築できます。
TimeSpanから任意の書式での文字列に変換するには、TimeSpanのToString(String)メソッドを使えます。
https://msdn.microsoft.com/ja-jp/library/ee372286.aspx
https://msdn.microsoft.com/ja-jp/library/ee372287.aspx
引用返信
削除キー/
編集
削除
■33204
/ inTopicNo.3)
Re[2]: ミリ秒から0:00:00か0:00:00.000....の書式にしたい
▲
▼
■
□投稿者/ YuO
一般人(1回)-(2016/01/03(Sun) 12:16:56)
■
No33203
に返信(Hongliangさんの記事)
> 「時間」オブジェクトとしては、TimeSpanという型が用意されています。
> 静的メソッドとしてFromMillisecondsが用意されているので、これを使ってミリ秒からTimeSpanオブジェクトを構築できます。
元がStopwatchクラスなので,Stopwatch.ElapsedMilliseconds + TimeSpan.FromMillisecondsよりも,Stopwatch.Elapsedの方がよいですね。
https://msdn.microsoft.com/ja-jp/library/system.diagnostics.stopwatch.elapsed.aspx
引用返信
削除キー/
編集
削除
■33205
/ inTopicNo.4)
Re[3]: ミリ秒から0:00:00か0:00:00.000....の書式にしたい
▲
▼
■
□投稿者/ まなみ
一般人(2回)-(2016/01/04(Mon) 07:34:39)
ご返信ありがとうございます。
TimeSpan.FromMilliseconds(計算結果).ToString();
でうまくいきました。
ありがとうございます。
引用返信
削除キー/
編集
削除
トピック内ページ移動 / <<
0
>>
このトピックに書きこむ
過去ログには書き込み不可
Mode/
通常管理
表示許可
Pass/
HOME
HELP
新規作成
新着記事
トピック表示
発言ランク
ファイル一覧
検索
過去ログ
-
Child Tree
-