将JavaUtilDate转换为NSDate,反之亦然?

时间:2015-06-19 16:07:07

标签: java ios objective-c swift j2objc

我使用j2objc将java util Date转换为objective-c JavaUtilDate类。 我导入#import "java/util/Date.h"来存储已翻译的java Date变量。

var myDate: JavaUtilDate

如何将JavaUtilDate转换为NSDate

1 个答案:

答案 0 :(得分:4)

根据您获取Java Date的位置/方式,最好的办法是获得毫秒并使用它实例化NSDate。

因此,调用Java Date上的getTime()方法获取自Epoch以来的毫秒数,然后使用dateWithTimeIntervalSince1970:方法创建NSDate。 NSDate方法需要几秒钟(作为一个浮点),因此除以1000.0以保持精度(感谢Martin R在注释中指出这一点)。 :)

Java Util Date method

NSDate method

对于究竟被问到的内容似乎存在一些混淆。为了尽可能通用,时间对象通常有一个方法来获取自纪元以来的毫秒数和一个构造函数(或设置器)在epoch之后的秒数内传递。因此,您所要做的就是从一个对象获取秒,并使用秒实例化另一个对象。