我正在使用jQuery 在Ajax上进行第一次破解.我将数据放到我的页面上,但是我在为Date数据类型返回的JSON数据方面遇到了一些麻烦.基本上,我得到的字符串看起来像这样:
/Date(1224043200000)/
Run Code Online (Sandbox Code Playgroud)
从全新的人到JSON - 如何将其格式化为短日期格式?这应该在jQuery代码中的某个地方处理吗?我试过使用jQuery.UI.datepicker
插件$.datepicker.formatDate()
没有任何成功.
仅供参考:以下是我提出的解决方案:
function getMismatch(id) {
$.getJSON("Main.aspx?Callback=GetMismatch",
{ MismatchId: id },
function (result) {
$("#AuthMerchId").text(result.AuthorizationMerchantId);
$("#SttlMerchId").text(result.SettlementMerchantId);
$("#CreateDate").text(formatJSONDate(Date(result.AppendDts)));
$("#ExpireDate").text(formatJSONDate(Date(result.ExpiresDts)));
$("#LastUpdate").text(formatJSONDate(Date(result.LastUpdateDts)));
$("#LastUpdatedBy").text(result.LastUpdateNt);
$("#ProcessIn").text(result.ProcessIn);
}
);
return false;
}
function formatJSONDate(jsonDate) {
var newDate = dateFormat(jsonDate, "mm/dd/yyyy");
return newDate;
}
Run Code Online (Sandbox Code Playgroud)
此解决方案从回调方法获取我的对象,并使用日期格式库正确显示页面上的日期.
我有一个网页,每天,每月和每年有三个下拉菜单.如果我使用Date
带有数字的JavaScript 构造函数,那么我得到一个Date
当前时区的对象:
new Date(xiYear, xiMonth, xiDate)
Run Code Online (Sandbox Code Playgroud)
给出正确的日期,但由于夏令时,它认为日期是GMT + 01:00.
这里的问题是我然后将它传递Date
给Ajax方法,当日期在服务器上反序列化时,它已经转换为GMT,因此丢失了一个小时,将一天移回一.现在我可以将日,月和年单独传递到Ajax方法中,但似乎应该有更好的方法.
接受的答案指出了我正确的方向,但只是单独使用setUTCHours()
改变了:
Apr 5th 00:00 GMT+01:00
Run Code Online (Sandbox Code Playgroud)
至
Apr 4th 23:00 GMT+01:00
Run Code Online (Sandbox Code Playgroud)
然后我还必须设置UTC日期,月份和年份以结束
Apr 5th 01:00 GMT+01:00
Run Code Online (Sandbox Code Playgroud)
这就是我想要的.
new Date(Date.parse("Jul 8, 2005"));
Run Code Online (Sandbox Code Playgroud)
2005年7月8日星期五00:00:00 GMT-0700(太平洋标准时间)
new Date(Date.parse("2005-07-08"));
Run Code Online (Sandbox Code Playgroud)
2005年7月7日星期五17:00:00 GMT-0700(太平洋标准时间)
为什么第二个解析不正确?
我正在尝试使用以下格式将dd-mm-yyyy格式的字符串转换为JavaScript中的日期对象:
var from = $("#datepicker").val();
var to = $("#datepickertwo").val();
var f = new Date(from);
var t = new Date(to);
Run Code Online (Sandbox Code Playgroud)
("#datepicker").val()
包含dd-mm-yyyy格式的日期.当我执行以下操作时,我会收到"无效日期":
alert(f);
Run Code Online (Sandbox Code Playgroud)
这是因为' - '符号吗?我怎么能克服这个?
我输入new Date("2017-01-01")
铬控制台,输出显示其小时为8,但new Date("2017-01-1")
并new Date("2017-1-01")
展示他们的时间都为0,那么,如何new Date(dateString)
解析?
new Date("2017-01-01")
// Sun Jan 01 2017 08:00:00 GMT+0800 (??????)*
new Date("2017-01-1")
// Sun Jan 01 2017 00:00:00 GMT+0800 (??????)*
new Date("2017-1-1")
// Sun Jan 01 2017 00:00:00 GMT+0800 (??????)*
new Date("2017-1-01")
// Sun Jan 01 2017 00:00:00 GMT+0800 (??????)*
Run Code Online (Sandbox Code Playgroud) 日期选择器返回的日期为一天.这是我的代码中的问题还是一个错误?
发送到date_picker的日期是2012-03-21.datepicker返回的日期是2012年3月20日星期二.
var end_date = end_calendar.getFormatedDate("%Y-%m-%d");
end_date = $.datepicker.formatDate('D M dd yy', new Date(end_date));
Run Code Online (Sandbox Code Playgroud) 我正在尝试根据我的一些json数据查看日期.
我的代码是:
var date = new Date(json.events[i].event.first_date);
alert(date);
Run Code Online (Sandbox Code Playgroud)
现在,json.events[i].event.first_date
它只返回格式为的日期yyyy-mm-dd
.
我注意到,但是当我这样做时alert(date);
,我会在实际数据显示的前一天显示.
例如,json.events[0].event.first_date
提供日期,2015-06-02
但警报显示为2015年6月1日.
我从德国某处的网址获取我的json,而且我在美国.由于时区,日期会搞砸吗?
我正在使用日期输入类型从HTML表单显示/获取日期:
<input type="date">
Run Code Online (Sandbox Code Playgroud)
要通过JavaScript设置日期,我需要:
myInput.valueAsDate = new Date();
Run Code Online (Sandbox Code Playgroud)
这很好。但是,如果要设置另一个日期对象,例如:
myInput.valueAsDate = new Date(1995, 0, 1);
Run Code Online (Sandbox Code Playgroud)
它显示12/31/1994
–这是1995年除夕前一天的准确记录。如果我添加24
的时间参数,日期显示正确,但日期对象本身显然是2 次 1995年1月的,这不是一个很好的解决这个问题。
<input type="date">
Run Code Online (Sandbox Code Playgroud)
myInput.valueAsDate = new Date();
Run Code Online (Sandbox Code Playgroud)
我在控制台中得到这个:
Sun Jan 01 1995 00:00:00 GMT+0200 (EET)
Sat Dec 31 1994 02:00:00 GMT+0200 (EET)
Run Code Online (Sandbox Code Playgroud)
这是浏览器问题吗?有什么解决方法/解决方案?
最后,我不希望使用任何插件来显示/获取时间,但我想用natative日期input
元素(至少,这个问题是关于它:-)
)。
我在Chromium和Chrome中复制了此内容。火狐好像不支持日期类型输入还。
给定的日期是2016-02-04
.那假设是2016年2月4日.但是当我使用时new Date()
,它会返回,Wed Feb 03 2016 16:00:00 GMT-0800 (PST)
而不是Thu Feb 04...
.
以下是我真正做的事情:
var _entryDate = new Date("2016-02-04");
console.log(_entryDate); // Wed Feb 03 2016 16:00:00 GMT-0800 (PST)
Run Code Online (Sandbox Code Playgroud)
为什么会发生这种情况,如何得到我想要的结果,即2月4日而不是前一天呢?