我需要删除日期时间的时间部分,或者可能有以下格式的日期在对象形式,而不是在字符串形式。
06/26/2009 00:00:00:000
我不能使用任何字符串转换方法,因为我需要对象形式的日期。
我尝试先将DateTime转换为字符串,从它中删除特定的时间日期,但它添加了12:00:00 AM,只要我将它转换回DateTime对象。
我需要删除日期时间的时间部分,或者可能有以下格式的日期在对象形式,而不是在字符串形式。
06/26/2009 00:00:00:000
我不能使用任何字符串转换方法,因为我需要对象形式的日期。
我尝试先将DateTime转换为字符串,从它中删除特定的时间日期,但它添加了12:00:00 AM,只要我将它转换回DateTime对象。
当前回答
如果你想使用绑定,只显示日期部分而不显示时间
ToolTip=“{{Binding TransactionModel.TransactionDate, StringFormat=d}”
其他回答
使用一点RegEx:
Regex.Match(Date.Now.ToString(), @"^.*?(?= )");
生成格式为:dd/mm/yyyy的日期
如果你想从DateTime中删除部分时间,尝试使用下面的代码:
DateTime dt = new DateTime();
dt = DateTime.Now; //ex: 31/1/2017 6:30:20 PM
TimeSpan remainingTime = new TimeSpan(0, dt.Hour - 5, dt.Minute - 29, dt.Second - 19);
dt=dt.Add(remainingTime);
label1.Text = dt.ToString("HH:mm:ss"); // must be HH not hh
输出:01:01:01
我很惊讶居然没人提到DateTime。今天
var date = DateTime.Today;
// {7/1/2014 12:00:00 AM}
看到MSDN
使用DateTime对象的. date将忽略时间部分。
下面是代码:
DateTime dateA = DateTime.Now;
DateTime dateB = DateTime.Now.AddHours(1).AddMinutes(10).AddSeconds(14);
Console.WriteLine("Date A: {0}",dateA.ToString("o"));
Console.WriteLine("Date B: {0}", dateB.ToString("o"));
Console.WriteLine(String.Format("Comparing objects A==B? {0}", dateA.Equals(dateB)));
Console.WriteLine(String.Format("Comparing ONLY Date property A==B? {0}", dateA.Date.Equals(dateB.Date)));
Console.ReadLine();
输出:
>Date A: 2014-09-04T07:53:14.6404013+02:00
>Date B: 2014-09-04T09:03:28.6414014+02:00
>Comparing objects A==B? False
>Comparing ONLY Date property A==B? True
在试图解决最初的Q时,偶然发现了这篇文章。
我在用Asp。Net和一些研究之后,我发现当你绑定到代码后面的日期值时,你可以删除时间,这样它就不会显示在屏幕上。
C#:
DateTime Today = DateTime.Now;
aspx:
<%: this.Today.ToShortDateString() %>