Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在没有时间的情况下保存日期时间?_C#_Datetime - Fatal编程技术网

C# 如何在没有时间的情况下保存日期时间?

C# 如何在没有时间的情况下保存日期时间?,c#,datetime,C#,Datetime,如果没有时间,或者最好是时间戳为12:00,那么我该如何保存日期时间,无论当时是什么时间 我不想使用.ToString(“dd/MM/yyyy”),因为它将打开大量新的可能错误。DateTimestruct有一个Date属性,可以满足您的需要: DateTime dateOnly = dateTime.Date; 当然,它仍然不可避免地包含一个时间部分,但您应该能够忽略它。使用 DateTime.Now.Date 或者对于myDate: myDate.Date 如果你有约会 DateT

如果没有时间,或者最好是时间戳为12:00,那么我该如何保存日期时间,无论当时是什么时间


我不想使用
.ToString(“dd/MM/yyyy”)
,因为它将打开大量新的可能错误。

DateTime
struct有一个
Date
属性,可以满足您的需要:

DateTime dateOnly = dateTime.Date;
当然,它仍然不可避免地包含一个时间部分,但您应该能够忽略它。

使用

 DateTime.Now.Date
或者对于myDate:

 myDate.Date
如果你有约会

DateTime anyDate = DateTime.Now;
DateTime dateAtNoon = anyDate.Date.AddHours(12);
或者,如果你今天想要,你可以使用快捷方式

DateTime dateAtNoon = DateTime.Today.AddHours(12);

这将做的技巧与偏好ts.日期

var ts = DateTime.Now;
var dateAtMidnight = ts.Date;
var dateAtNoon = ts.Date.AddHours(12);
看看这个

如果您想要当前日期,则有一个更具可读性的选项:

DateTime.Today
但对于特定的DateTime实例,则:

myDateTime.Date

正如其他海报所说

DateTime.Now.Date 
这是一条路要走。但是,还需要考虑是否要删除时区信息,以防止在客户端\服务器计算机上的不同TZ之间发生问题

你可以用

var dateTime = new DateTime(DateTime.Now.Date.Ticks, DateTimeKind.Unspecified);

您想将日期保存到哪里?在数据库中?或者Datetime类类型的对象?时间可以在代码、持久层或数据库中剥离,对于您试图解决的问题,哪个位置看起来最自然?我使用的是MVVM结构。很抱歉没有将其添加到标记中。问题是,稍后在out应用程序中,我们会筛选这个特定日期,12:00之后的任何内容都会被排除在查询之外。也就是说,我需要在set属性上做。因此,要么排除时间,要么将其默认为12:00。只是澄清一下,我们谈论的是24小时时间的12:00还是0:00?仅供参考,
DateTime。今天
DateTime的一个有用的速记。现在。Date
我非常确定,默认情况下,没有时间的新日期将默认为凌晨12:00。这和你的建议不同吗?对。我只是觉得把它默认为中午12点是错误的,而威廉并没有精确计算。如果他住在欧洲,12:00意味着12:00,但这有可能变得不正确。例如,如果从格林尼治标准时间到英国夏令时,午夜移动到前一天的晚上11点,则日期部分已更改。