挖空.js渲染日期时间 12/31/1969
Knockout.js rendering datetime 12/31/1969
在淘汰赛 VM 中,我正在尝试将日期时间注入到属性中。该函数生成正确的日期,但是当它在UI中呈现时,我得到12-31-1969 7pm的日期。此项未序列化,而是动态生成。有人可以帮助我了解为什么会生成此问题以及如何纠正它。我已经看过许多关于这在 php 代码中出现的文章,但没有特定于 KOUT 的文章。有一篇关于SO的文章引用了dateTimePicker,但我没有立即看到OP的问题或我的问题之间的相似之处。
在我的 js 文件中
function returnDateFormat() {
var d = new Date();
date = d.getDate();
date = date < 10 ? "0" + date : date;
mon = d.getMonth() + 1;
mon = mon < 10 ? "0" + mon : mon;
year = d.getFullYear();
hours = d.getHours();
min = d.getMinutes();
sec = d.getSeconds();
return (mon + "/" + date + "/" + year + " " + hours + ":" + min + ":" + sec);
}
在我的 ajax 调用中引用该函数的位置。基本上,我只是尝试更新VM以显示事件发生的日期。当页面初始化时,它会加载并绑定在 UI 中,因此我知道在下次加载时会从数据库中提取正确的值并填充。如果没有必要,我只是不想从通话中返回整个日期集。
$.ajax({
type: "POST",
url: "warehouse/" + command,
data: "{ productId:'" + product.ProductId() + "', newname: '" + newname + "' }",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
if (msg.Key == true) {
DisplaySuccess("Update Complete.", "The product has been successfully updated.");
//update product name in VM
product.Name(newname);
product.DateLastModified(returnDateFormat());
}
else {
//Display error message if ajax msg fails
DisplayError("Error Renaming Product ", msg.Value);
}
}, error: function (err) {
DisplayError("Error Renaming Product", "The server returned an error code. Code: " + err.status);
}
});
然后在 cshtml 文件中,我将日期修改的元素绑定到div 元素
<div title="Product Last Modified" class="productDetailItem scalableText productModified" data-bind="text: FormatDate(DateLastModified())"></div>
更新:在进一步调查中,原始日期作为 Json 序列化字符串传入,这是 cshtml 函数调用 FormatDate 地址的内容。它解析和格式化 Json 字符串。我当时没有意识到这一点,因为我没有写这部分映射。
它中断的原因是我传入了一个格式化的日期时间,而不是函数期望的 Json 序列化字符串。为了纠正这一点,我计划在客户端生成一个日期时间,然后将其序列化,将其传递给函数,这应该可以纠正问题。 我将很快发布一个有效的解决方案。 我欢迎其他建议。-干杯
我认为你只是想这样做:
<div title="Product Last Modified" class="productDetailItem scalableText productModified" data-bind="text: DateLastModified"></div>
上次修改日期已经格式化,为什么要再次格式化呢? 作为旁注,我强烈建议您研究一下时刻.js。 您可以将整个"returnDateFormat"函数替换为:
product.DateLastModified(moment().format("MM/DD/YYYY hh:mm:ss a"));
// "09/05/2013 11:22:40 am"
- Java脚本时间添加
- Json数据包含日期和时间格式
- 如何根据时间运行不同的脚本
- 用每小时的差值填充数组/列表-从下拉列表中给定两个时间值
- 在wordpress一定时间后更改自定义字段
- 更改angularjs中的日期-时间格式
- 将当前时间添加到我的页面上的特定部分
- 门户网站:当地时间有多有用
- 显示时间的脚本
- 如何在窗体打开时从javascript倒计时计时器值中节省时间
- 通过JSON&比较时间
- Javascript时间轨迹
- 将日期时间作为 JSON 发送将无法在我的视图中正确显示
- 将日期时间从json转换为可读格式
- 高库存时期时间与时区不匹配
- Jquery如何检查今天的时间大于使用给定时间
- jquerydatetimepicker日期和时间应在框默认值中,而无需单击框
- primefaces日历可以禁用过去的日期和时间吗
- Jquery函数在错误的时间提交
- 挖空.js渲染日期时间 12/31/1969