C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

■102509 / 1階層)  日が変わった時のデータ保存方法
□投稿者/ furu (220回)-(2023/11/10(Fri) 12:52:07)
No102504 (MASA さん) に返信
> 今1秒毎にデータを日付の付いたファイルに書き込むようにしているのですが
> 日が変わった時にファイルの日付を変えて保存を続行したいのです
filePathの作成をFile.AppendTextの直前にするといいです。


    string filePath = @"C:\test\Data保存\" + DateTime.Now.ToString("yyyyMd") + ".csv";
    using (StreamWriter sw = File.AppendText(filePath))
    {
        sw.WriteLine($"{date1},{date2},{data1},{data2}");
    }

DateTime.Nowは刻々と変わるので日付と時刻を別々に取得すると不具合の元です。

    string date1 = DateTime.Now.ToString("yyyy/M/d");
    string date2 = DateTime.Now.ToString("HH:mm:ss");

例えばdate1とdate2の処理中に11/10から11/11に日付が変わると
date1は11/10の日付
date2は11/11の時刻になってしまいます。
DateTime.Nowを一旦変数に代入しましょう。

    DateTime dt = DateTime.Now;
    string date1 = dt.ToString("yyyy/M/d");
    string date2 = dt.ToString("HH:mm:ss");

編集キー/

前の記事(元になった記事) 次の記事(この記事の返信)
←日が変わった時のデータ保存方法 /MASA 返信無し
 
上記関連ツリー

日が変わった時のデータ保存方法 / MASA (23/11/10(Fri) 10:20) #102504
Re[1]: 日が変わった時のデータ保存方法 / WebSurfer (23/11/10(Fri) 10:36) #102505
日が変わった時のデータ保存方法 / furu (23/11/10(Fri) 12:52) #102509 ←Now
Re[1]: 日が変わった時のデータ保存方法 / 魔界の仮面弁士 (23/11/10(Fri) 13:58) #102511
  └ Re[2]: 日が変わった時のデータ保存方法 / MASA (23/11/10(Fri) 16:52) #102515
    └ Re[3]: 日が変わった時のデータ保存方法 / MASA (23/11/10(Fri) 17:29) #102516
      └ Re[4]: 日が変わった時のデータ保存方法 / とっちゃん (23/11/10(Fri) 20:38) #102518

上記ツリーを一括表示 / 上記ツリーをトピック表示
 
上記の記事へ返信