Knockout.js 在剔除foreach语句中设置日期格式

Knockout.js 在剔除foreach语句中设置日期格式,knockout.js,Knockout.js,我在格式化淘汰模型中的日期字段时遇到问题: <table class="signatures"> <tbody data-bind="foreach: $root.signatures()"> <tr> <td><span data-bind="text: DateSigned"></span></td> </tr> </t

我在格式化淘汰模型中的日期字段时遇到问题:

<table class="signatures">
    <tbody data-bind="foreach: $root.signatures()">
        <tr>
            <td><span data-bind="text: DateSigned"></span></td>
        </tr>
    </tbody>
</table>

您拥有的是一个Javascript日期,从1970年1月1日开始只有毫秒。您需要创建一个格式化程序,将javascript日期格式化为用户更可读的格式

根据您使用的是UTC日期,您需要在格式化之前检查用户的本地日期,或者只让用户知道您的日期所在的时区

下面是一个关于javascript固有的、可以在日期对象上执行的所有函数的示例

因此,我将创建一个日期函数,为您设置日期格式

function formatDate(odate) {
  var date = ko.util.unwrapObservable(odate);
  var year = date.getYear();
  var month = date.getMonth() + 1;
  var day = date.getDate();
  return year + '/' + month + '/' + day;
}
然后在您的视图中,您可以:

<table class="signatures">
    <tbody data-bind="foreach: $root.signatures()">
        <tr>
            <td><span data-bind="text: formatDate(DateSigned)"></span></td>
        </tr>
    </tbody>
</table>

您拥有的是一个Javascript日期,从1970年1月1日开始只有毫秒。您需要创建一个格式化程序,将javascript日期格式化为用户更可读的格式

根据您使用的是UTC日期,您需要在格式化之前检查用户的本地日期,或者只让用户知道您的日期所在的时区

下面是一个关于javascript固有的、可以在日期对象上执行的所有函数的示例

因此,我将创建一个日期函数,为您设置日期格式

function formatDate(odate) {
  var date = ko.util.unwrapObservable(odate);
  var year = date.getYear();
  var month = date.getMonth() + 1;
  var day = date.getDate();
  return year + '/' + month + '/' + day;
}
然后在您的视图中,您可以:

<table class="signatures">
    <tbody data-bind="foreach: $root.signatures()">
        <tr>
            <td><span data-bind="text: formatDate(DateSigned)"></span></td>
        </tr>
    </tbody>
</table>

哎呀,里面什么都没有。您可能需要使用第三方javascrrit库,如moment.js。看这里的例子:哎呀,里面什么都没有。您可能需要使用第三方javascrrit库,如moment.js。有关示例,请参见此处: