所以我尝试在只读文本框中显示消息,其中包含耗时和日期,尽管我遇到了一些问题。它显示消息是在 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);
}
最佳答案
运行下面的
DateTime date2 = DateTime.Now;
Thread.Sleep(1000);
DateTime date1 = DateTime.Now;
TimeSpan timeDifference = date1.Subtract(date2);
Console.WriteLine(timeDifference.Seconds);
显示1
的输出
打印messageArray[0]
中的值,看看它是否包含你认为的内容
关于c# - C# 中的 DateTime 已过去?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16889870/