在C#中过了DateTime?

Kir*_*udd 3 c# datetime elapsed

所以我试图在readOnly文本框中显示消息,包括已用时间和日期,尽管我遇到了一些问题.它显示消息是在325天前发送的,真的应该是1分钟前发送的.有人可以帮忙告诉我我做错了什么吗?

string[] date;
string[] messageArray = 
    File.ReadAllLines(Server.MapPath("~") + "/App_Data/messages.txt");

for (int i = 0; i < messageArray.Length; i++)
{
        date = messageArray[i].Split(' ');
        DateTime date1 = DateTime.Now;
        DateTime date2 = Convert.ToDateTime(messageArray[0]);
        TimeSpan timeDifference = date1.Subtract(date2);
        string formattedTime = "Sent " + timeDifference.Days + " days, " + 
         timeDifference.Hours + " hour/s," + 
         " and " + timeDifference.Minutes + " mins ago";

        File.AppendAllText(Server.MapPath("~") + 
              "/App_Data/messages.txt", "\n" + formattedTime + "\n");
        File.AppendAllText(Server.MapPath("~") + 
              "/App_Data/messages.txt", sendMessageTextBox.Text + 
              System.Environment.NewLine);

}
Run Code Online (Sandbox Code Playgroud)

Mzf*_*Mzf 7

运行以下

        DateTime date2 = DateTime.Now;
        Thread.Sleep(1000);
        DateTime date1 = DateTime.Now;

        TimeSpan timeDifference = date1.Subtract(date2);
        Console.WriteLine(timeDifference.Seconds);
Run Code Online (Sandbox Code Playgroud)

显示输出 1

打印该值messageArray[0]以查看它是否包含您认为包含的内容

  • 要以秒为单位表示净经过时间,请使用timeDifference.TotalSeconds(以秒为单位的总时间),而不是timeDifference.Seconds(这是总时间的秒组件). (3认同)