Sitecore:在sitecore字段中保存日期,类型为&#34; DateTime&#34;来自<input type =“text”/>

时间:2015-09-23 09:08:52

标签: c# sitecore sitecore7.2

如果我的页面中有html控件。

<input type="text" id="dateFrom" runat="server" ClientIDMode="Static"/>

点击按钮,我将输入dateFrom的值保存到Sitecore项目的字段中,类型为&#34; DateTime&#34;

CodeBehind:

item["Visible From"] = dateFrom.Value;

当用户点击输入dateFrom

时,我正在使用Jquery显示日历
$(function () {
        $("#dateFrom").datepicker();
    });

保存项目后,我在&#34;内容编辑器&#34;中看到的结果是: enter image description here

正确的日期是一些如何不保存。我也试过<asp:TextBox 而不是<input type="text"但仍然是相同的结果。

2 个答案:

答案 0 :(得分:10)

日期以ISO 8601格式存储在后端,使用Sitecore帮助程序方法将其格式化为正确的格式:

var dateTime = DateTime.Parse(dateFrom.Value);
var isoDate = DateUtil.ToIsoDate(dateTime);
item["Visible From"] = isoDate ;

您可以在本文中找到有关Using DateTime And Date Fields In Sitecore

的更多信息

答案 1 :(得分:0)

日期以自己的(基于字符串的)格式存储在Sitecore中。如果您选中查看 - &gt;,您可以检查一下上面的菜单中的Raw Vales

Sitecore有自己的助手类,名为DateUtil,用于处理日期和时间。

string storedDateTimeValue = DateUtil.DateTimeToIsoDate(DateTime.Now);

或反向操作:

DateTime dt = DateUtil.IsoDateToDateTime(storedDateTimeValue);

Here is有点过时,但有关该DateUtil类API的正确信息。