Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/9.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
Sharepoint日期和时间字段限制_Sharepoint - Fatal编程技术网

Sharepoint日期和时间字段限制

Sharepoint日期和时间字段限制,sharepoint,Sharepoint,我在Sharepoint列表中创建了一个名为EventDate的日期和时间列。根据Microsoft文档,日期和时间列映射到System.DateTime类型 现在,当我尝试在该列中插入以下日期时,我看到一条错误消息: 日期:1800年1月1日 错误消息: “无效的日期/时间值。 日期/时间字段包含无效数据。请检查该值,然后重试。“ 我还尝试使用set DateTime.MinValue,收到了相同的错误消息。但是如果我插入一个更近的日期,比如1900年1月1日,它就可以正常工作 Sharepo

我在Sharepoint列表中创建了一个名为EventDate的日期和时间列。根据Microsoft文档,日期和时间列映射到System.DateTime类型

现在,当我尝试在该列中插入以下日期时,我看到一条错误消息:

日期:1800年1月1日

错误消息: “无效的日期/时间值。 日期/时间字段包含无效数据。请检查该值,然后重试。“

我还尝试使用set DateTime.MinValue,收到了相同的错误消息。但是如果我插入一个更近的日期,比如1900年1月1日,它就可以正常工作


Sharepoint是否对日期和时间字段的最小值有限制?

我发现,如果您尝试手动(使用Sharepoint表单)在Sharepoint日期和时间字段中插入值1/1/1800,您会收到以下错误:

“您必须指定1900年1月1日至8900年12月31日范围内的有效日期。”


因此,Sharepoint只接受介于1/1/1900和12/31/8900之间的值。

没有明显的理由说明Sharepoint为什么会像现在这样限制datetime数据类型的存储

在SQL Server中,smalldatetime列允许日期在1/1/1900-6/6/2079之间,datetime列的范围为1/1/1753-12/31/9999

所以1900年1月1日到8900年12月31日之间没有范围,我一点也不知道为什么会存在这种限制

更糟糕的是:SQL SErver 2008有一个smalldatetime2和datetime2类型(实际上只是在名称:/)中添加了一个2),它允许任何日期(1/1/0000-12/31/9999),但即使是SQL 2008上的SharePoint 2010也有相同的限制


和工具包:使用单行文本是一个非常糟糕的子项,因为无法验证用户输入的值

您可以尝试创建一个自定义字段来存储日期时间值。
请参见

为什么要添加该日期?如果你真的需要1900年之前的日期,你可以使用一行文本字段。非常好的答案。如果没有最后一行就更好了。那么这是否意味着SharePoint将在8900年后停止工作?@DenisMolodtsov如果人类仍然使用SharePoint,那么它们应该在8899年灭绝您还可以有一个事件处理程序来验证字符串是否为有效日期time@David缺乏比较日期的能力是一个重要问题损失本身。微软为什么不将字段类型映射回SQL的内置功能是毫无意义的。