[英]How to convert string to date in react native with moment.js?
I have this date in string, now i want to convert this with UTC using moment.js.我在字符串中有这个日期,现在我想使用 moment.js 将其转换为 UTC。
Wednesday, 22 September 2021, 7:00:00 am
Expected result:预期结果:
Formate: DD-MMM-YYYY hh:mm a
格式:
DD-MMM-YYYY hh:mm a
Date: 22-Sep-2021 12:30 PM
日期:
22-Sep-2021 12:30 PM
I tried this way but not working我试过这种方式但没有工作
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');
Also I tried this conversion with dayjs
but it works well in iOS but not in Android where I get null
.我还尝试使用
dayjs
进行此转换,但它在 iOS 中运行良好,但在我得到null
的 Android 中运行良好。
utcDate = dayjs(new Date(`${dateStr} UTC`)).format(
'DD MMM YYYY, hh:mm A',
);
let me know if anyone have solution for this.让我知道是否有人对此有解决方案。
Thanks!谢谢!
Try this:尝试这个:
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>
You need to remove the format from moment
call.您需要从
moment
调用中删除格式。
You can do this but it is a deprecated way你可以这样做,但这是一种不推荐使用的方式
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>
The better solution.更好的解决方案。
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>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.