我有一個表單視圖3個日期字段。在服務器端的代碼如下所示:ExtJS的日期字段不保留時區信息提交
DateTime dtUTC = new DateTime(2010,8,8,2,4,6).SetKind(DateTimeKind.Utc);
DateTime dtLocal = new DateTime(2010,8,8,2,4,6).SetKind(DateTimeKind.Local);
DateTime dtUnspec = new DateTime(2010,8,8,2,4,6).SetKind(DateTimeKind.Unspecified);
一個是UTC,一個在本地和,一個是不確定的。我使用JSON.NET來序列化ISO 8601格式的日期。他們得到正確的序列化到客戶端,並期待如下:
"UtcDate": "2010-08-08T02:04:06.0000000Z",
"LocalDate": "2010-08-08T02:04:06.0000000+05:30",
"TokyoDate": "2010-08-08T02:04:06.0000000"
現在我有3個ExtJS的(版本6.0.1.250)日期字段(我已經設置了「displayFormat」到「YYYY‘ - ’MM'-」 DD HH「:」毫米「:」 SS」,以顯示時間爲好),其顯示他們在瀏覽器中的特定時區格式也可以。
UTC日期:2010-08-08 2時04分06秒
本地日期:2010-08-08 7時34分06秒
未指定日期:2010-08-08 02:04 :06
我的模型字段定義這樣
{
name: "UtcDate",
type: "date",
allowNull: true,
dateFormat: "c"
},
{
name: "LocalDate",
type: "date",
allowNull: true,
dateFormat: "c"
},
{
name: "UnspecDate",
type: "date",
allowNull: true,
dateFormat: "c"
}
問題是,當我提交日期服務器,我得到的日期都在本地時區格式
"UtcDate":"2010-08-08T07:34:06+05:30",
"LocalDate":"2010-08-08T02:04:06+05:30",
"UnspecDate":"2010-08-08T02:04:06+05:30"
有沒有辦法,我可以讓他們回到與服務器發送到客戶端相同的時區格式?爲什麼date字段在提交時不保留原始記錄時區信息?