我在SharePoint列表的某个字段中保存了DateTime值:
//request is an entity that has all he fields in the list, I am only showing DueDate in the below code
if (txtdatepicker.Text != String.Empty)
{
DateTime dueDate;
if (DateTime.TryParse(txtdatepicker.Text, out dueDate))
{
request.DueDate = dueDate;//Output {9/30/2017 12:00:00 AM}
}
}
日期在SharePoint列表中正确保存为截止日期:9/30/2017
。
现在问题是当我尝试检索此Date值时:
if (LI[Constants.FieldName_ReqLst_DueDate] != null)
req.DueDate = (DateTime)LI[Constants.FieldName_ReqLst_DueDate];//Output {9/29/2017 6:30:00 PM}
我在这里得到的输出与保存的值完全不同。如何从SharPoint DateTime列中获取正确的Date值?
我尝试DateTime.Parse(Convert.ToString(LI[Constants.FieldName_ReqLst_DueDate])).ToLocalTime()
在本地计算机上运行正常,但如果在服务器上部署,那么它就无法正常工作。
答案 0 :(得分:1)
尝试将日期转换为本地时间格式,如下所示
var PaymentDate = Convert.ToDateTime(item["PaymentDate"].ToString()).ToLocalTime();
答案 1 :(得分:0)
服务器在哪里?如果服务器位于不同的时区,则会影响import Data.Aeson (decode)
import Data.String (fromString)
import Data.List (transpose)
parseFloats :: String -> Maybe [[Float]]
parseFloats = fmap transpose . decode . fromString
功能。
许多网站会将时区与用户个人资料相关联,然后将显示的所有日期/时间转换为该配置的值。
对于Sharepoint网站,您可以尝试:
ToLocalTime()
然后,任何使用您网站的人都会知道时间总是在您设置的时区内。
答案 2 :(得分:0)
String.IsNullOrEmpty(myVar);
ToLocalTime()
会根据您的服务器时区设置来设置时间。