【问题标题】:Change date format taken from an API [duplicate]更改从 API 获取的日期格式 [重复]
【发布时间】:2017-09-30 11:50:46
【问题描述】:

所以我正在通过一个 API 并以以下格式接收日期: 2017-03-23 但我希望它像这样显示:3/23/2017。解决这个问题的最佳方法是什么?

谢谢!

【问题讨论】:

  • 你在说什么 API? API 是否有用于您获取日期的格式化程序?

标签: javascript reactjs redux


【解决方案1】:

为了快速修复,

var date = '2017-03-23';
date = date.split('-').map(e => e[0] == '0' ? e.slice(1) : e);
date = date[1] + '/' + date[2] + '/' + date[0];

console.log(date)

但我建议使用像 Moment.js 这样的日期库来确保稳定性和完全兼容性

【讨论】:

  • OP 没有说明解析日期。我只是在这里使用了字符串操作,不涉及对象或格式。当然,如果不显示日期,moment.js 可能是要走的路。
【解决方案2】:

使用moment.js

var origDateFormat = "2017-03-23";
var expectedDateFormat = "3/23/2017";
var newDateFormat = moment(origDateFormat).format('M/DD/YYYY');
console.log(newDateFormat===expectedDateFormat); //true
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.min.js"></script>

【讨论】:

  • OP 中没有库标签或提及,因此您的答案不应依赖于一个。
  • OP如何提及或标记他不知道存在的东西?
  • 可以提及库作为替代方案,但仅使用库来回答是不合理的。否则可能会有很多答案仅由使用的库来区分(并且有很多日期解析和格式化库)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多