我正在构建一个Twitter界面,并且想要显示类似Twitter本身的时间。
我执行GET请求并获取推文,然后将其传递给它moment.js
以进行转换。
这是此代码段:
client.get('direct_messages', {screen_name: 'theclearytheory', count: '3'}, function(error, messages, response){
if(!error){
var privateMessageTime = [];
for(var i=0; i < messages.length; i++){
console.log(messages[i].created_at);
privateMessageTime.push(moment(messages[i].created_at).fromNow());
}
} else {
console.log(error)
}
现在,这确实可以正常工作。如果我回来了,Sun Oct 02 11:59:43 +0000 2016
那么程序可以正确地将其转换为:2 months ago
。
问题是我在控制台中收到以下警告消息:
弃用警告:提供的值不是公认的ISO格式。此刻的构建工作归结为js Date(),它在所有浏览器和版本之间均不可靠。不鼓励使用非ISO日期格式,并将在即将发布的主要版本中将其删除。请参阅http://momentjs.com/guides/#/warnings/js-date/了解更多信息。参数:
[0] _isAMomentObject: true, _isUTC: false, _useUTC: false, _l: undefined, _i: Fri Jul 22 10:19:18 +0000 2016, _f: undefined, _strict: undefined, _locale: [object Object]
我已经仔细研究过它链接到的文档,但是我无法弄清楚如何使用它。如果有人对此有任何经验(或者比我聪明得多),我将非常感谢您的帮助!
如解析文档中所述:
警告:浏览器对字符串解析的支持不一致。因为没有关于应该支持哪种格式的规范,所以在某些浏览器中有效的格式在其他浏览器中无效。
为了获得一致的结果,解析除ISO 8601字符串以外的任何内容,您应该使用String + Format
既然您得到了,Sun Oct 02 11:59:43 +0000 2016
您将拥有:
moment(messages[i].created_at, 'ddd MMM DD HH:mm:ss Z YYYY').fromNow()
代替moment(messages[i].created_at).fromNow()
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句