ふらっとVisual C#,C♯,C#(初心者用) Part105
■ このスレッドは過去ログ倉庫に格納されています
0200デフォルトの名無しさん
2013/07/19(金) NY:AN:NY.ANhttp://www.atmarkit.co.jp/fdotnet/dotnettips/931uptime/uptime.html
を参考にしてPCの起動時間を取得しようとしましたが、形式が"dd.hh:mm:ss.ms"なので見辛いです
そこでStringBuilderで分割、整形したのはいいのですが1日未満の場合エラーを吐いてしまいます…
場合に応じて"dd日hh時mm分ss秒"や"hh時mm分ss秒"、"mm分ss秒"のような形式で表示させるようにするにはどうしたら良いでしょうか
コードは下記のとおりです‥
PerformanceCounter upTime = new PerformanceCounter("System", "System Up Time");
upTime.NextValue();
return upTime.NextValue(); //2度呼び出し
string uptime = Convert.ToString(TimeSpan.FromSeconds(GetSystemUpTime()));
StringBuilder sb = new StringBuilder(uptime);
sb.Length -= 8; //小数削除
sb.Replace(".", ":"); //置換
string r1 = sb.ToString();
string[] lines = r1.Split(':'); //":"で区切る
MessageBox.Show(lines[0] + "日" + lines[1] + "時" + lines[2] + "分" + lines[3] + "秒"");
■ このスレッドは過去ログ倉庫に格納されています