olDateTime 类型的 MailItem 用户 属性 默认显示 12/30/1899 值。我们如何才能显示空呢?

MailItem user property of type olDateTime showing by default 12/30/1899 value. How can we show empty instead?

我在名为 "DueDate" 的邮件项目上创建了一个用户 属性 我正在为此用户设置默认值 null 属性 但是当更改 outlook 中的视图并添加 DueDate 自定义列时在默认视图中,它显示“12/30/1899”值。

var prop = mailItemObject.UserProperties.Add("DueDate", Outlook.OlUserPropertyType.olDateTime, null, null);
prop.Value = null; //default value

作为解决方法,您可以添加一个文本 (olText) 用户 属性(而不是日期时间)。您可以将日期和时间转换为字符串并返回到加载项的代码中。但是在视图中你会得到你需要的东西——空字符串。

Null 被转换为 0,在 COM 中(它对 date/time 值使用 8 字节浮点数)是 12/31/1899。 如果您不想设置一个值,则根本不要设置它。或者将其设置为 1/1/4501 - 该特殊日期在 Outlook 中表示 "no data"。