在输入类型时间

时间:2016-06-01 14:00:38

标签: javascript jquery html knockout.js

我正在尝试使用带有以下代码的html输入字段:

<td><input style="width: 80px" type="time" placeholder="HH:MM" required="" data-bind="value: FirstManifest"></td>

包含FirstManifest属性(DateTime?)的后端C#对象是否正确填充但是当我将其绑定到knock视图模型时,模型FirstManifest中的属性看起来像这样

"/Date(1464748440000)/"

如何转换此选项,以便我的输入仅显示日期时间格式HH:MM?

2 个答案:

答案 0 :(得分:1)

它被转换为毫秒。尝试将其转换回来。

&#13;
&#13;
var oldDate= "/Date(1464748440000)/";
var newDate = new Date(parseInt(oldDate.substr(6)));
document.write(newDate);
   
&#13;
&#13;
&#13;

答案 1 :(得分:1)

这就是.NET如何序列化我相信的DateTime。首先需要将其转换为JavaScript Date,然后获取时间元素,例如

var manifest 
  = new Date(parseInt("/Date(1464748440000)/".replace("/Date(", "").replace(")/",""), 10));

this.FirstManifest = ko.computed(function() {
    return manifest.toLocaleTimeString();
}, this);

您还需要计算的write部分从输入转换回日期以便持久保存到服务器。