使用挖空在视图中显示为 GMT 的日期时间
Datetime showing up as GMT in view using knockout
我使用 Linq 从 SQL 服务器中提取了以下代码:
UserList = (from u in userQuery
select new UserViewModel
{
{...}
LastUpdate = u.LastUpdate,
{...}
}).AsQueryable();
我放置了一个断点并看到了被拉下的正确日期时间,它在我当地的时区。
这是通过 JSON 发送到视图的:
<tr>
<td>Last Updated</td>
<td>
<div data-bind="text: SelectedUser().LastUpdate" class="detailFields"></div>
</td>
</tr>
但现在日期时间显示为 "GMT" 而不是我的本地时间。
我哪里错了?
更新代码:
已安装 moment.js,导入并将行更改为:
<div data-bind="text: moment(SelectedUser().LastUpdate()).format('LLL')" class="detailFields"></div>
注意 LastUpdate 变量名后的 ()...
该行的无效日期:
data-bind="text: moment(SelectedUser().LastUpdate).format('LLL')"
是因为 knockout.js
希望它像这样:
data-bind="text: moment(SelectedUser().LastUpdate()).format('LLL')"
一般情况下,在使用和绑定knockout的observables时,需要在其后加上()
。有关此主题的更多详细信息,请参见此处:Knockoutjs binding to Property vs Property()
我使用 Linq 从 SQL 服务器中提取了以下代码:
UserList = (from u in userQuery
select new UserViewModel
{
{...}
LastUpdate = u.LastUpdate,
{...}
}).AsQueryable();
我放置了一个断点并看到了被拉下的正确日期时间,它在我当地的时区。
这是通过 JSON 发送到视图的:
<tr>
<td>Last Updated</td>
<td>
<div data-bind="text: SelectedUser().LastUpdate" class="detailFields"></div>
</td>
</tr>
但现在日期时间显示为 "GMT" 而不是我的本地时间。
我哪里错了?
更新代码:
已安装 moment.js,导入并将行更改为:
<div data-bind="text: moment(SelectedUser().LastUpdate()).format('LLL')" class="detailFields"></div>
注意 LastUpdate 变量名后的 ()...
该行的无效日期:
data-bind="text: moment(SelectedUser().LastUpdate).format('LLL')"
是因为 knockout.js
希望它像这样:
data-bind="text: moment(SelectedUser().LastUpdate()).format('LLL')"
一般情况下,在使用和绑定knockout的observables时,需要在其后加上()
。有关此主题的更多详细信息,请参见此处:Knockoutjs binding to Property vs Property()