iOs和android的毫秒时间不一样了吗?

iOs和android的毫秒时间不一样了吗?,android,datetime,swift4,Android,Datetime,Swift4,我有一个iOS和Android项目,其中我使用firebase作为远程服务器。我还必须从android和iOS将当前日期保存在firebase中。这样我可以在以后拿到它,并找出一些日期之间的差异。在iOS中,自1970年以来,我将时间保存为毫秒。在android中,我只是把它当作system.getTimeInMillis() 但后来我发现两者返回的值并不相同。我想让android和iOS也一样。我在stack overflow和其他论坛上尝试了一些方法。但我找不到答案。有时iOS会将值保存为d

我有一个iOS和Android项目,其中我使用firebase作为远程服务器。我还必须从android和iOS将当前日期保存在firebase中。这样我可以在以后拿到它,并找出一些日期之间的差异。在iOS中,自1970年以来,我将时间保存为毫秒。在android中,我只是把它当作
system.getTimeInMillis()

但后来我发现两者返回的值并不相同。我想让android和iOS也一样。我在stack overflow和其他论坛上尝试了一些方法。但我找不到答案。有时iOS会将值保存为double,而android会将其保存很长时间。 我试过了

Calendar mycalendar  = Calendar.getInstance();
mycalendar.set(Calendar.HOUR_OF_DAY, hourOfDay);
mycalendar.set(Calendar.MINUTE, minute);
mycalendar.set(Calendar.SECOND, 0);

long times = mycalendar.getTimeInMillis();

但它并没有在同一时间在iOS中返回相同的值。因此,任何人都可以知道如何在android和iOS上以毫秒为单位获得相同的时间?

为什么您希望两个不同的设备能够以毫秒为单位同步,而无需进行大量工作?这基本上是不可能的。时间并不是一个能神奇地进入手机的通用常数——设备内部的时钟和硬件总是会微妙地关闭,即使同步到网络,而网络正在同步两个设备,也需要处理网络延迟


我强烈建议你阅读,你不能像现在这样思考时间。

尝试使用基于NTP的TrueTime库。 对于相同的用例,我们都能够在两个平台上实现精确的时间。保持两个平台的NTP服务器相同

安卓:


iOS:

我正在从android和iOS访问同一台服务器。因此,我必须获取两台设备节省的时间,并计算从该日期起经过的天数。但是,当我在android手机上计算ios设备节省的时间时,在计算差异后给出的值是错误的。在ios中,你使用的是Objective C还是Swift?一个简单的方法是使用服务器时间,而不是设备时间。在ios中,timeinmillizes返回双倍值,而在android中,该值很长。我们如何匹配安卓和ios timeInSeconds的值?