【问题标题】:How to convert date format in React Native?如何在 React Native 中转换日期格式?
【发布时间】:2018-09-12 21:02:28
【问题描述】:

从 API 收到的日期为“20180914”,需要将其格式化为 09/14/2018。

环顾四周,发现 moment.js 用于日期格式,但是我仍然遇到问题,因为我是 RN 菜鸟:S

我正在使用 Fetch 获取我的 API,我从 {item.segments[0].date2} 获取日期。

我如何在这里使用moment?非常感谢您的宝贵时间。

【问题讨论】:

  • 也许这有帮助 moment("20180914", "YYYYMMDD").format('MM/DD/YY'); 在这里您可以找到有关格式字符串 momentjs.com/docs 的更多信息
  • 这与 react native 无关——考虑删除 react-native 标签

标签: javascript momentjs


【解决方案1】:

这与 react-native 无关,您不需要 momentjs: console.log('20180914'.replace(/(\d{4})(\d{2})(\d{2})/,'$2/$3/$1'))

【讨论】:

  • 谢谢。但是在代码上,日期是{item.segments[0].date2},因为它是从 Json 中获取的,我是否真的设置了一个静态日期?
【解决方案2】:

如果您每次都收到这样的日期YYYYMMDD,那么您可以进行以下操作

var item = {
       segments: [
           {
               date2: 20180918
           }
       ]
   };

if (typeof item.segments[0].date2 === 'number') {
    item.segments[0].date2 = item.segments[0].date2.toString();
}

if (typeof item.segments[0].date2 === 'string') {
    // strip out non-numbers
    let result = date.replace(/\D/g, '');

    // invalid format i.e. not enough numbers
    if (result.length !== 8)
        item.segments[0].date2 = null;
    else {
        // Convert date into format YYYY-MM-DD
        item.segments[0].date2 = result.substr(0, 4) + "-" + result.substr(4, 2) + "-" + result.substr(6, 2);

        // After Importing moment to your application
        // Using moment to convert format to MM/DD/YYYY
        item.segments[0].date2 = moment(item.segments[0].date2,'YYYY-MM-DD').format('MM/DD/YYYY');

       // If don't want to use moment then skip above two can do this
       item.segments[0].date2 = result.substr(4, 2) + "/" + result.substr(6, 2) + "/" + result.substr(0, 4);
    }
}

【讨论】:

    猜你喜欢
    • 2020-04-06
    • 1970-01-01
    • 1970-01-01
    • 2021-07-08
    • 2013-06-16
    • 2012-02-13
    • 2012-01-19
    • 2012-06-26
    相关资源
    最近更新 更多