如何将时刻日期转换为字符串并删除时刻对象

时间:2017-08-22 04:48:25

标签: javascript reactjs react-native momentjs

我有一个React Web App和一个React Native Mobile App。当我将一个时间日期对象从我的反应web应用程序传递到我的后端时,它会以某种方式转换为字符串,并且它与我的后端一起工作。

当我使用我的本机移动应用程序执行此操作时,它会将日期作为片刻对象传递,并且它不会转换为字符串,但它不起作用。

有没有办法将moment对象转换为像

这样的普通字符串
"Tue May 05 2015 23:59:59 GMT+0800 (HKT)"

我尝试了toString()和toUTCString(),但它不起作用。感谢。

2 个答案:

答案 0 :(得分:15)

使用moment().format()从日期创建格式化字符串。



console.log(moment().format())

<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.js"></script>
&#13;
&#13;
&#13;

但如果您使用的是版本2.1.0 +(link),则toString应该有效:

&#13;
&#13;
console.log(moment().toString())
console.log(typeof moment().toString())
&#13;
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.js"></script>
&#13;
&#13;
&#13;

答案 1 :(得分:6)

您尝试调用仅存在于javascript Date对象上的方法。为了调用这些方法,您需要先将Moment对象转换为普通的Date对象。您可以使用Moment对象上的.toDate()方法执行此操作。

&#13;
&#13;
var plainDate = moment().toDate();
console.log(plainDate.toUTCString());
&#13;
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.js"></script>
&#13;
&#13;
&#13;

然而,将Moment对象转换为字符串的更直接方法是使用.format()方法,该方法将输出为&#34; ISO 8601&#34;标准看起来像2014-09-08T08:02:17-05:00

&#13;
&#13;
console.log( moment().format() );
&#13;
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.js"></script>
&#13;
&#13;
&#13;