有人可以详细解释以下内容:
我的long
值代表date
。
与timezone
值相关联的long
是什么?
如何将long
值转换为具有正确time zone
的日期?
是否有办法识别与timezone
值相关联的long date
?
答案 0 :(得分:6)
格林威治标准时间1970年1月以来的长达数毫秒。所以,就此而言,它是GMT。
答案 1 :(得分:4)
日期(长或java.util.Date)代表一个时刻。
除非您正在处理日历,否则不会涉及TimeZone。
您可以为给定的TimeZone和Locale创建日历,如下所示:
long rightNow = System.currentTimeMillis();
Locale exampleLocale = Locale.GERMANY;
TimeZone zone = TimeZone.getTimeZone("EST");
Calendar theCalendar = Calendar.getInstance(zone, exampleLocale);
theCaledar.setTime(new Date(rightNow));
答案 2 :(得分:4)
表示long
的{{1}}值是从纪元开始经过的毫秒数。 (1970年1月1日)
java.util.Date
与长值相关的时区是什么?
你能把一个单位附加到一个长值。第
这类似于给出一个int 2它代表什么? 。它可能是2英里或2磅。
如何将长值转换为具有适当时区的日期?
你不能因为上述原因。
是否有办法识别与长日期值相关的时区?
不。
答案 3 :(得分:2)
如果时间为长格式,TimeZone
将不会与之关联。
您需要使用SimpleDateFormat
(或)Calendar
API将时区应用于长值。