相关疑难解决方法(0)

如何格式化Microsoft JSON日期?

我正在使用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)

此解决方案从回调方法获取我的对象,并使用日期格式库正确显示页面上的日期.

asp.net ajax jquery json

1954
推荐指数
32
解决办法
72万
查看次数

使用设置的时区创建日期而不使用字符串表示

我有一个网页,每天,每月和每年有三个下拉菜单.如果我使用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)

这就是我想要的.

javascript timezone

392
推荐指数
13
解决办法
66万
查看次数

为什么Date.parse会给出错误的结果?

案例一:

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(太平洋标准时间)


为什么第二个解析不正确?

javascript date

327
推荐指数
6
解决办法
43万
查看次数

将dd-mm-yyyy字符串转换为日期

我正在尝试使用以下格式将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)

这是因为' - '符号吗?我怎么能克服这个?

javascript date

173
推荐指数
6
解决办法
64万
查看次数

新日期("2017-01-01")和新日期("2017-1-1")之间有什么区别?

我输入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)

javascript

74
推荐指数
2
解决办法
6491
查看次数

datepicker约会一天

日期选择器返回的日期为一天.这是我的代码中的问题还是一个错误?

发送到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)

javascript datepicker

44
推荐指数
6
解决办法
5万
查看次数

为什么JavaScript会在我设定的日期前一天给我看?

我正在尝试根据我的一些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,而且我在美国.由于时区,日期会搞砸吗?

javascript timezone date

6
推荐指数
1
解决办法
1814
查看次数

在日期字段中设置日期会将日期设置为前一天

我正在使用日期输入类型从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中复制了此内容。火狐好像不支持日期类型输入

html javascript google-chrome date

5
推荐指数
1
解决办法
1461
查看次数

为什么给定日期变为使用新Date()前一天?

给定的日期是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日而不是前一天呢?

javascript date

4
推荐指数
2
解决办法
1598
查看次数

标签 统计

javascript ×8

date ×5

timezone ×2

ajax ×1

asp.net ×1

datepicker ×1

google-chrome ×1

html ×1

jquery ×1

json ×1