如何将moment日期转换为字符串并移除moment对象

21

我有一个React Web应用程序和一个React Native移动应用程序。当我从我的React Web应用程序向后端传递一个moment日期对象时,它会以某种方式转换为字符串,并且可以与我的后端一起使用。

当我使用我的React Native移动应用程序时,它将日期作为moment对象传递,不会将其转换为字符串,并且无法正常工作。

是否有一种方法将moment对象转换为简单的字符串像

"Tue May 05 2015 23:59:59 GMT+0800 (HKT)"

我尝试了toString()和toUTCString(),但都没有成功。谢谢。


1
如果有帮助的话,只需尝试使用格式化函数。http://momentjs.com/docs/#/displaying/format/ - Vinod Louis
@shinon 你可以尝试这样做: var p = moment(new Date()).format("YYYY-MM-DD HH:mm:ssZ"); console.log(p); console.log(typeof(p)); 字符串 - Deepak Patidar
2个回答

34
使用 moment().format() 方法可以将日期转换为指定格式的字符串。

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

但是如果您使用的是版本2.1.0+(链接),toString 应该可以工作:

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


10
你试图调用只存在于javascript Date对象上的方法。为了调用这些方法,你需要先将Moment对象转换为一个普通的Date对象。你可以使用.toDate()方法将Moment对象转换为Date对象。

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

然而,将一个Moment对象转换为字符串的更直接的方法是使用.format()方法,它会输出类似于"ISO 8601"标准的字符串格式,例如 2014-09-08T08:02:17-05:00

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接