我正在使用本机应用程序,我正在尝试使用片刻格式化日期。
日期看起来像" 02-16-2016 09:04:23"
function formatTime(date){
var formattedDate = moment(date).format('MM:ss A');
return formattedDate;
}
如果chrome调试器处于活动状态,则工作正常。但如果我禁用它,我得到的只是"无效的日期"
与使用
的解码功能相同var that = this;
MessagesService.getMessageBody(selectedMessage)
.then(function(messageBody){
var decodedData = window.atob(messageBody.messages);
that.setState({
messageBody: decodedData
})
})
.catch(function(err){
console.log(err);
})
使用
显示解码数据<Text> Body: {this.state.messageBody} </Text>
并以
显示日期<View style = {[MessageStyles.senderItem, MessageStyles.date]}>
<Text>
{this.formatTime(message.createDateTime)}
</Text>
</View>
也许这是一个不好的方式来做反应本机?还在学习,所以我可能会做一些不好的练习。
答案 0 :(得分:7)
我最近了解到,在使用chrome调试器时,react native使用不同的JS引擎。调试期间使用chrome JS引擎,否则使用JavaScriptCore。根据这篇文章
http://ruoyusun.com/2015/11/01/things-i-wish-i-were-told-about-react-native.html
但是对于日期的实际问题,JavaScriptCore引擎似乎不喜欢使用 - 解析日期。我不得不使用正则表达式来替换 - 用a /然后我所有的日期操作工作正常。
02-16-2016 09:04:23被视为无效
02/16/2016 09:04:23被视为有效