我有一个字段为“Birthday
”的项目。值为“15/03/1977
”,原始值为“19770315T000000
”。我从hereSitecore将ISO日期转换为.net时的8个奇怪行为DateTime
例如现在的下面的代码输出为:
var item = Sitecore.Context.Database.GetItem("{8935CD35-5EAD-4C8E-B85C-E95E9B1ED5C3}");
DateField dateField = (DateField)item.Fields["Birthdate"];
// DateTime object
var date = dateField.DateTime.Date;
// String
lblTest.Text = date.ToString();
输出:
3/14/1977 12:00:00 AM // Instead of 15 here date is 14
如果我格式化字符串为 “dd-MM-yyyy
”:
lblTest.Text = date.ToString("dd-MM-yyyy");
输出
14-03-1977
我不知道为什么我有这样的差别,保存日期是15/03/1977
,输出为14-03-1977
。
第二个问题是,在上面的代码var date = dateField.DateTime.Date;
我分配.Date
变量date
但在输出我仍然看到时间,如果没有提供格式。我讲的这个lblTest.Text = date.ToString();