使用挖空在视图中显示为 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()