我有一个WCF休息服务,它返回一些JSON数据并接受一些DateTime类型的POST参数对象。
当我收到包含日期时间字段的数据时,日期时间值如下:
日期(1388341800000 + 0530)/“
当我为POST数据创建数据时,如下所示
var dataPost = { ID:“121”, 名称:“测试”, 发表日期:“12/30/2013” }
此操作失败(错误请求)。但如果我通过:
var dataPost = {
ID: "121",
Name: "Test",
DateAdmitted: "/Date(1388341800000+0530)/"
}
我希望能够传递“12/30/2013”,但这些是我在HTML中处理的值。
基本上我想:
以某种方式将收到的DateTime格式化为可读日期时间。 (“/日期(1388341800000 + 0530)/” - >“12/30/2013”)
发送将可读日期时间转换为此格式时:
(“12/30/2013” - >“/日期(1388341800000 + 0530)/”)
请有人帮助我。
答案 0 :(得分:1)
Step 1: Parse /Date(1388341800000+0530)/ extract 1388341800000 and 0530(offset)
Step 2 : create date object var d = new Date(1388341800000);
var d = new Date(1388341800000); // time
var utc = d.getTime() + (d.getTimezoneOffset() * 60000);
var nd = new Date(utc + (3600000*offset)); // offset means 0530
nd.toString('yyyy-MM-dd'); // this is your date
虽然我没有运行此代码但是这样的代码应该适合你。
如果我没有错,你在另一个帖子中为java提出了同样的问题。现在,如果你可以从js正确传递,那么你需要java答案。
答案 1 :(得分:0)
解析wcf服务响应并获取日期使用 -
value = new Date(parseInt(value.replace("/Date(", "").replace(")/",""), 10));
发送wcf请求使用 -
var date = '\\\/Date(' + this.getTime() + ')\\\/';
供您参考,请查看这些stackoveflow question