datetime 空值显示

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了datetime 空值显示相关的知识,希望对你有一定的参考价值。

我从数据库中读取一个时间在templateFiled 显示!而数据库中的这个字段是dateTime型的!但是是可以为空的!我出数据库中的读出来,有数据的都正常显示!,但是为空的就默认显示为0001-01-01,我想把这个时间隐藏,不显示!怎么做

设置该字段为null,并且检查的时候用IS NULL来做判断 参考技术A Nullable<DateTime> DateTimeIsNull=null
你这个DateTimeIsNull为空,那它哪来的值?
另外,站长团上有产品团购,便宜有保证
参考技术B Nullable

DateTime.hasvalue vs datetime == null,哪个更好以及为啥[重复]

【中文标题】DateTime.hasvalue vs datetime == null,哪个更好以及为啥[重复]【英文标题】:DateTime.hasvalue vs datetime == null, which one is better and why [duplicate]DateTime.hasvalue vs datetime == null,哪个更好以及为什么[重复] 【发布时间】:2016-10-29 16:22:17 【问题描述】:

我想问一个关于控制日期时间的空值的问题。

if (mydatetime != null)

if(mydatetime.hasvalue)

哪个更好,哪个更合适,为什么?

谢谢。

【问题讨论】:

它们并不完全相同。 HasValue 仅当 var 为 Nullable 时才有效 第一个如果有值则为真,第二个如果没有值则为真。 ! 可能太多了。 我的是可以为空的datetime(datetime?my datetime=null),这种情况下有什么区别吗? @Aurora 没有区别,保持一致 【参考方案1】:

!=null 的第一个比较是有效的比较,而第二个只能在变量声明为Nullable 时使用,或者换句话说,与.HasValue 的比较只能在DateTime 变量声明为时使用可以为空

例如:

DateTime dateInput; 
// Will set the value dynamically
if (dateInput != null)
 
   // Is a valid comparison         

if (dateInput.HasValue)
 
   // Is not a valid comparison this time        

在哪里

DateTime? dateInput; // nullable declaration
// Will set the value dynamically
if (dateInput != null)
 
   // Is a valid comparison         

if (dateInput.HasValue)
 
   // Is also valid comparison this time        

【讨论】:

【参考方案2】:

如果你问

if (mydatetime != null) 

您正在检查变量是否已被实例化。

如果它实际上是没有实例化,下面的语句会给你 NullReferenceException

if(!mydatetime.hasvalue)

因为您试图访问 null 对象的属性

仅当您将DateTime 声明为Nullable 时,它才会显示相同的行为。

Nullable<DateTime> mydatetime = null;

Console.WriteLine(mydatetime.HasValue);

【讨论】:

以上是关于datetime 空值显示的主要内容,如果未能解决你的问题,请参考以下文章

错误:运行应用程序时出现错误“意外的空值”

DateTime.hasvalue vs datetime == null,哪个更好以及为啥[重复]

读取sqlite数据库时用SQLiteDataAdapter填充Datatable时遇到的问题。

实体类里面DateTime?带问号是啥意思

MySQL datetime NULL 问题,'=' 和 '!=' 返回 0 行

如何用c#将DateTime 类型与string 类型转换?