2015-06-19 169 views
1

我使用j2objc將java util Date轉換爲objective-c JavaUtilDate類。 我導入了#import "java/util/Date.h"來存儲翻譯的java Date變量。將JavaUtilDate轉換爲NSDate,反之亦然?

var myDate: JavaUtilDate 

如何轉換JavaUtilDateNSDate

+0

那麼什麼是JavaUtilDate?告訴我們,有人可以幫助你。 –

+0

@DuncanC不投票這是一個嚴重的問題。我使用:https://github.com/google/j2objc的JavaUtilDate – confile

+0

@ confile請編輯您的問題,並附加其他信息,而不是發表評論。 –

回答

4

根據您獲取Java日期的方式/方式,您最好的辦法是獲取毫秒並通過它實例化NSDate。

因此,調用Java日期的getTime()方法以獲得自Epoch起的毫秒數,然後使用dateWithTimeIntervalSince1970:method創建您的NSDate。 NSDate方法需要秒(作爲浮點),所以除以1000.0以保持精度(感謝Martin R在註釋中指出了這一點)。 :)

Java Util Date method

NSDate method


人們似乎對究竟被問了一些混亂。爲了儘可能通用,時間對象通常有一個方法可以獲得自紀元以來的毫秒數,並且構造函數(或setter)可以在紀元以來的秒數內傳遞。所以你所要做的就是從一個對象中獲取秒數,並用秒來實例化另一個對象。

+2

NSDate需要秒作爲*浮點*值,並具有亞秒級精度,因此您應該除以1000.0而不是「砍掉」 –

+0

我的缺乏客觀c知識顯示!方法說秒,沒有挖掘到實際類型。更新了答案。 ;) – BlakeP

+0

這個答案與問題無關!!! – confile

相關問題