【问题标题】:How to convert string to date in react native with moment.js?如何使用moment.js将字符串转换为日期?
【发布时间】:2021-11-20 13:37:48
【问题描述】:

我在字符串中有这个日期,现在我想使用 moment.js 将它转换为 UTC。

Wednesday, 22 September 2021, 7:00:00 am

预期结果:

格式:DD-MMM-YYYY hh:mm a

日期:22-Sep-2021 12:30 PM

我试过这种方法,但不起作用

let dateStr = 'Wednesday, 22 September 2021, 7:00:00 am'
utcDate = moment(moment(dateStr, 'DD-MMM-YYYY hh:mm a'))
  .utc()
  .format('DD MMM YYYY, hh:mm A');

我也尝试使用 dayjs 进行这种转换,但它在 iOS 中运行良好,但在我得到 null 的 Android 中却不行。

utcDate = dayjs(new Date(`${dateStr} UTC`)).format(
  'DD MMM YYYY, hh:mm A',
);

如果有人对此有解决方案,请告诉我。

谢谢!

【问题讨论】:

  • format() 之后得到什么结果?对了,你不需要moment的双重构造,(moment(dateStr, 'DD-MMM-YYYY hh:mm a').utc()就足够了(这也可能解决你的问题)。
  • 我试过它会单身,但它也不工作,谢谢!

标签: reactjs react-native date momentjs utc


【解决方案1】:

试试这个:

let dateStr = 'Wednesday, 22 September 2021, 7:00:00 am'
const utcDate = moment(new Date(dateStr))
  .utc()
  .format('DD MMM YYYY, hh:mm A');

console.log(utcDate)
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment.min.js" integrity="sha512-qTXRIMyZIFb8iQcfjXWCO8+M5Tbc38Qi5WzdPOYZHIlZpzBHG3L3by84BBBOiRGiEb7KKtAOAs5qYdUiZiQNNQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>

【讨论】:

  • 我试过了,但在 android 中得到“无效日期”,在 iOS 中得到“22 Sep 2021, 01:30 AM”。但实际日期为“2021 年 9 月 22 日,下午 12:30”
【解决方案2】:

您需要从moment 调用中删除格式。

您可以这样做,但这是一种已弃用的方式

let dateStr = 'Wednesday, 22 September 2021, 7:00:00 am'
// You can do this but it is deprecated way
const date = moment(dateStr)
  .utc()
  .format('DD MMM YYYY, hh:mm A');

console.log(date)
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment.min.js"></script>

更好的解决方案。

let dateStr = 'Wednesday, 22 September 2021, 7:00:00 am'
const date = moment(new Date(dateStr))
  .utc()
  .format('DD MMM YYYY, hh:mm A');

console.log(date)
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment.min.js"></script>

【讨论】:

  • 我试过这个,但在 android 中得到“无效日期”,在 iOS 中得到“22 Sep 2021, 01:30 AM”。但实际日期为“2021 年 9 月 22 日,下午 12:30”
猜你喜欢
  • 2016-11-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-04
  • 1970-01-01
  • 1970-01-01
  • 2018-12-20
  • 1970-01-01
相关资源
最近更新 更多