Sitecore将所有字段值存储为nvarchars。我们希望将其日期表示转换为SQL日期时间,但无法在MSDN上找到匹配的样式:
https://msdn.microsoft.com/en-GB/library/ms187928.aspx
日期格式为yyyymmddThhmmss
,例如:
20161007T000000
00010101T000000
这可以使用SQL CONVERT吗? - 还是需要手动解析?
答案 0 :(得分:2)
Sitecore中的DateTime格式以ISO 8601格式存储。
您可以从DateField
:
DateField dateField = (DateField)item.Fields["Date Created"];
// DateTime object
var dateTime = dateField.DateTime;
您还可以使用Sitecore.DateUtil
类中的帮助程序将值操作为其他格式。您可以在Date/time best practices文档中阅读更多内容。
答案 1 :(得分:1)
您可以使用以下SQL脚本,如下所示:
DECLARE @DateText NVARCHAR (50) = '20161007T000000'
DECLARE @ConvertText NVARCHAR (50) = SUBSTRING(@DateText, 1, 8) + ' ' + SUBSTRING(@DateText, 10, 2) + ':' + SUBSTRING(@DateText, 12, 2) + ':' + SUBSTRING(@DateText, 14, 2)
SELECT CONVERT(DATETIME,@ConvertText)
由于