iPhone应用程序的React js问题(字符串和日期错误)[重复]

Posted

技术标签:

【中文标题】iPhone应用程序的React js问题(字符串和日期错误)[重复]【英文标题】:React js Problem with iPhone app (string and date errors) [duplicate] 【发布时间】:2020-07-07 23:35:54 【问题描述】:

我有一个响应式 react/reactstrap 应用程序来计算和计算用户使用该应用程序的总时间:启动时单击“开始”,例如我将字符串时间存储在数据库“21:00:00”中,然后单击“完成”并立即计算日期并调用 ComputeTotal() 函数来计算时间。

当我在 PC 上使用该应用程序时(即使在响应式/iPhone 模式下)它可以工作,但是当我部署(在应用程序引擎上)并用我的 iPhone 打开它时,字符串日期为 NaN:NaN:NaN(当我使用一个函数来计算())。

PC 应用:

iPhone 版本:

我用来计算总时间的函数(“Horaire total du jour”):

CalculerTotal = () => 

  var TotalHeure = 0;
  var TotalMinutes = 0; 
  var TotalSeconds = 0;

  for (var i = 0; i < this.state.events.length; i++) 
    if (this.state.events[i].arrivee !== "" &&this.state.events[i].depart !== "") 
      const d1 = new Date('1970-01-01 ' + this.state.events[i].depart);
      const d2 = new Date('1970-01-01 ' + this.state.events[i].arrivee);
      const diff = d1 - d2;
      const hours = Math.floor(diff/(1000*60*60));
      const mins = Math.floor((diff-(hours*1000*60*60)) / (1000*60));
      const secs = Math.floor((diff-(hours*1000*60*60)-(mins*1000*60)) / 1000);
      TotalHeure += hours; 
      TotalMinutes += mins;
      TotalSeconds += secs;
    


if (TotalSeconds > 59) 
while (TotalSeconds >= 0) 
    if (TotalSeconds - 60 >= 0) 
      TotalSeconds = TotalSeconds - 60;
      TotalMinutes += 1;
     else 
      break;
    
  


if (TotalMinutes > 59) 
while (TotalMinutes >= 0) 
if (TotalMinutes - 60 >= 0) 
TotalMinutes = TotalMinutes - 60;
TotalHeure += 1;
 else 
break;




var resHeures = (TotalHeure<10?'0':'') + TotalHeure;
var resMinutes = (TotalMinutes<10?'0':'') + TotalMinutes;
var resSecondes = (TotalSeconds<10?'0':'') + TotalSeconds;
return (`$resHeures:$resMinutes:$resSecondes`)


在 iPhone 中,我得到了 NaN:NaN:NaN 作为结果。

可能是什么原因?

谢谢

编辑 1:

在安卓手机上可以正常使用。

【问题讨论】:

***.com/q/13363673/1746830可能被骗 我希望您不要将持续时间作为字符串存储在数据库中......这就是数字的用途。 我认为你应该参考这个答案:***.com/a/13363791/5081918 是的,我将它们存储为字符串。 【参考方案1】:

固定。

***.com/q/13363673/1746830 的副本

【讨论】:

以上是关于iPhone应用程序的React js问题(字符串和日期错误)[重复]的主要内容,如果未能解决你的问题,请参考以下文章

React-Native 远程调试器无法在 iPhone 上运行

如何防止在我的 Next/React 项目中使用 iPhone 上的 AirPlay

未处理的 JS 异常:找不到变量:需要

React-Native打包IOS安装在iPhone上

React.js Chrome 扩展 - 如何将 Background.js 中的数据存储在 React 内部的变量中?

React Native Performance Simulator vs. Real Device