日期时间使用淘汰赛显示为GMT

时间:2018-08-27 21:23:50

标签: c# asp.net-mvc knockout.js

我已经使用Linq从SQL Server中提取了以下代码:

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变量名称后注意()。

1 个答案:

答案 0 :(得分:1)

此行的无效日期:

data-bind="text: moment(SelectedUser().LastUpdate).format('LLL')"

由于knockout.js希望它像这样:

data-bind="text: moment(SelectedUser().LastUpdate()).format('LLL')"

通常,当使用和绑定到剔除的可观察对象时,需要将()放在它们之后。有关此主题的更多详细信息,请参见:Knockoutjs binding to Property vs Property()