当前位置: 首页 > 面试题库 >

如何格式化Microsoft JSON日期?

轩辕鸿祯
2023-03-14
问题内容

我正在使用jQuery在Ajax上进行首次尝试。我正在将数据获取到页面上,但是为Date数据类型返回的JSON数据遇到了一些麻烦。基本上,我得到的字符串看起来像这样:

/Date(1224043200000)/

从完全不熟悉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;
}

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


问题答案:

eval()没有必要。这将正常工作:

var date = new Date(parseInt(jsonDate.substr(6)));

substr()函数取出该/Date(部分,然后该parseInt()函数获取整数并)/在最后忽略。结果数将传递到Date构造函数中。

我故意省略了基数(的第二个参数parseInt);

另外,我完全同意Rory的评论:ISO-8601日期优于此旧格式-
因此,通常不应该将这种格式用于新开发。有关使用ISO-8601格式序列化日期的绝佳选择,请参见出色的Json.NET库。

对于ISO-8601格式的JSON日期,只需将字符串传递到Date构造函数中即可:

var date = new Date(jsonDate); //no ugly parsing needed; full timezone support


 类似资料:
  • 问题内容: 我正在使用bootstrap-datetimepicker和ISO8601 datetime格式,如其选项部分所述 在我的控制器中 它以(console.log)将数据发送到后端 并保存为数据库 在我的模板中 我在HTML上看到的输出为 但是根据Angular doc,它应该用于格式 我想念的是什么? 问题答案: 现在,我已经创建了一个过滤器 作为依赖项添加为 并用作 并将日期显示为

  • 问题内容: 在JavaScript中,如何格式化日期对象以打印为? 问题答案: 对于自定义分隔的日期格式,你必须从DateTimeFormat对象(属于ECMAScript Internationalization API的一部分)中提取日期(或时间)组件,然后手动使用所需的分隔符创建字符串。 为此,你可以使用DateTimeFormat#formatToParts: 你还可以使用来一对一地提取各

  • 我正在研究spring-boot和gradle,以创建一个rest服务。现在我需要将json日期格式设置为“yyyy-MM-dd”,即格式应为dateOfBirth:“16-03-2015”,但我得到的是“dateOfBirth:-751181400000”。我在我的应用程序中添加了以下代码。java类,但仍然无法获得所需的输出。 和应用程序.java: 请帮我解决这个问题。

  • 问题内容: 如何实现java日期格式化? 问题答案: 使用(或如果字符串恰巧包含时区部分)将特定模式中的解析为。 使用(或)以某种格式将 格式化为String。 或者,当你尚未使用Java 8时,请使用将String特定模式中的解析为Date。 用于将格式化Date为String特定模式。 格式区分大小写,因此请使用MM而不是mm(这是分钟),而yyyy作为参考,你可以使用以下速查表。

  • 我有一个的实例,我想将其格式化为String。我该怎么做呢?我想把日期变成一个字符串,类似“2013-04-20”这样的东西。

  • 问题内容: 所以我有一个Date对象,我想创建一个方法,以便它以以下格式打印Date: 我怎么做?到目前为止,我只是对日期执行toString,它为我提供了我不需要的所有GMT信息和秒精度。我必须使用DateFormatter还是有更简单的方法来做到这一点? 编辑该标题后,将Java ME包含在标题中,并在发布了一些与原始问题正确的答案后添加标签。 问题答案: 您可以使用class设置日期格式。