这就是我所拥有的...如果我把它转换为毫秒,我必须将它存储多久。我使用Android API时间类(http://developer.android.com/reference/android/text/format/Time.html)
Time today = new Time(Time.getCurrentTimezone());
today.setToNow();
long todayMillis = today.toMillis(false);
我希望将其格式化为可读版本之后的东西(在得到毫秒之后我将其保存到数据库以便之后检索它):
todayMillis.format("%k:%M %d.%m.%y");
但是我不能这么容易地做到这一点,因为我需要转换回时间......怎么能这样做?
答案 0 :(得分:4)
创建一个新的时间对象,然后调用Time.set(long milliseconds)
Time time = new Time(Time.getCurrentTimeZone());
time.set(todayMillis);
我认为甚至不需要原始时区,因为毫秒是以UTC为单位,但我猜测Time
对象在内部以某种方式使用传递的时区。
答案 1 :(得分:1)
您已经拥有类型today
的{{1}}对象,因此无需将millis转换回来。但是,如果必须,Time
包含android.text.format.Time
方法,set
为milliseconds
。
long
答案 2 :(得分:0)
试试这个:
Calendar calendar = Calendar.getInstance(); // Creates a new Calendar with the current Time
calendar.setTimeInMillis(todaysMillis); // you can also put your millis in. Same effect.
String readableOutput = calendar.get(Calendar.HOUR_OF_DAY) +
":" + calendar.get(Calendar.MINUTE) +
" " + calendar.get(Calendar.DAY_OF_MONTH) +
"." + (1+calendar.get(Calendar.MONTH)) +
"." + calendar.get(Calendar.YEAR);
更多字段和方法: http://docs.oracle.com/javase/7/docs/api/java/util/Calendar.html