2010-05-12 40 views

Trả lời

90

System.currentTimeMillis() không cung cấp cho bạn số mili giây kể từ 1 tháng 1 năm 1970 00:00:00 UTC. Lý do bạn thấy giờ địa phương có thể là do bạn chuyển đổi một thể hiện Date thành chuỗi trước khi sử dụng. Bạn có thể sử dụng DateFormat s để chuyển đổi Date s để String s trong bất kỳ múi giờ:

DateFormat df = DateFormat.getTimeInstance(); 
df.setTimeZone(TimeZone.getTimeZone("gmt")); 
String gmtTime = df.format(new Date()); 

Cũng see this related question.

+0

Tôi muốn sử dụng tính theo giờ UTC + 2, làm thế nào tôi có thể làm THT –

+13

ngày mới() sẽ trả về ngày hệ thống hiện tại! nếu người dùng thay đổi thời gian/ngày, nó sẽ trả về giá trị sai! –

8

xem câu trả lời của tôi ở đây:

How can I get the current date and time in UTC or GMT in Java?

Tôi đã kiểm tra đầy đủ nó bằng cách thay đổi múi giờ trên giả lập

+7

Vui lòng không chỉ đăng câu trả lời cho các câu hỏi về Stack Overflow khác. Thay vào đó, bỏ phiếu/cờ để đóng thành bản sao, hoặc, nếu câu hỏi không trùng lặp, hãy điều chỉnh câu trả lời cho câu hỏi cụ thể này. * –

Các vấn đề liên quan