DateTime 为空字符串或 null?如何检查?

发布于 2024-12-28 21:26:34 字数 312 浏览 0 评论 0原文

问:

如果日期时间为空,我想根据 null 值 检查日期时间以清空报告中的单元格。但我不知道如何执行此操作:它看起来像这样 1 /1/0001 如果它为空。并且我希望它是空单元格。

这是我的数据集中的数据类型:

在此处输入图像描述

这是我的列的表达式值:

=FormatDateTime(Fields!D_DateTime.Value,2)

Q:

I want to check the DateTime against null value to empty the cell in my report if the datetime is null.but i don't know how to do this :it appears like this 1/1/0001 if it was null.and i want it to be empty cell.

This is the datatype in my dataset :

enter image description here

and this is the expression value of my column :

=FormatDateTime(Fields!D_DateTime.Value,2)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

忆梦 2025-01-04 21:26:34

正如我在评论中告诉您的,您应该检查您的日期是否为 DateTime.MinValue (日期可以采用的最小值,即 01/01/0001)。

if (your_date_property == DateTime.MinValue)
{
    // Do what you need
}

As I told you in my comment, you should check if your date is DateTime.MinValue (the minimum value a date can assume, which is exactly 01/01/0001).

if (your_date_property == DateTime.MinValue)
{
    // Do what you need
}
酷炫老祖宗 2025-01-04 21:26:34
=IIf(FormatDateTime(Fields!D_DateTime.Value,2)=CDate("1/1/0001"),"",FormatDateTime(Fields!D_DateTime.Value,2))

非常感谢,我想这解决了我的问题。

=IIf(FormatDateTime(Fields!D_DateTime.Value,2)=CDate("1/1/0001"),"",FormatDateTime(Fields!D_DateTime.Value,2))

Thanks a lot ,i think this fixes my problem.

染墨丶若流云 2025-01-04 21:26:34

由于 datetime 是一个结构体而不是类,即值类型而不是引用类型;它必须用某个值初始化。它不能有空值。

因此,要检查默认值,您应该检查与 DateTime.MinValue 的相等性

,即

if(D_DateTime.Value == DateTime.MinValue)
{
   //write code here for default value handling
}

As datetime is a struct rather than class i.e. a value type rather than a reference type; it must be initialized with some value. It cannot have null values.

Hence to check the default value you should check the equality with DateTime.MinValue

i.e.

if(D_DateTime.Value == DateTime.MinValue)
{
   //write code here for default value handling
}
冷情 2025-01-04 21:26:34

将数据集中字段的类型 (rd:TypeName) 更改为 System.Nullable (Of System.DateTime)。然后您可以简单地测试=Fields!D_DateTime.Value Is Nothing

Change the type of the field in the dataset (rd:TypeName) to System.Nullable (Of System.DateTime). Then you can simply test =Fields!D_DateTime.Value Is Nothing.

野生奥特曼 2025-01-04 21:26:34

就像 @Marco 建议的那样,您可以检查 MinValue。如果要将 NULL 传递给可为 null 的参数,则可以对 reportviewer 参数使用以下代码。

Vb.Net

Dim rpFrom As New ReportParameter("FromDate", New String() {Nothing}, False)

C#

ReportParameter rpFrom = new ReportParameter("FromDate", new string[] { null }, false);

Like @Marco suggested you can check for MinValue. And if you want to pass NULL to the nullable parameter, you can use the following code for reportviewer parameter.

Vb.Net

Dim rpFrom As New ReportParameter("FromDate", New String() {Nothing}, False)

C#

ReportParameter rpFrom = new ReportParameter("FromDate", new string[] { null }, false);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文