KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I have been digging into the question for a while in StackOverflow Android get Current UTC time and How can I get the current date and time in UTC or GMT in Java? I have tried two ways to get the current time of my phone in GMT. I am in Spain and the difference is GMT+2. So let's see with an example: 1ยบ attemp: I created a format and applied it to System.currentTimeMillis(); DateFormat dfgmt = new java.text.SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); dfgmt.setTimeZone(TimeZone.getTimeZone("GMT")); String gmtTime = dfgmt.format(new Date()); //Using System.currentTimeMillis() is the same as new Date() Date dPhoneTime = dfgmt.parse(gmtTime); Long phoneTimeUTC = dPhoneTime.getTime(); I need to substract that time to another time, that's why i do the cast to Long. DateFormat df = new java.text.SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); Date arrivalDate = df.parse(item.getArrivalDate()); //the String comes from JSON and is for example:"UTC_arrival":"2011-05-16 18:00:00" //which already is in UTC format. So the DateFormat doesnt have the GMT paramater as dfgmt diff = arrival.getTime() - phoneTimeUTC ; I also tried this: Calendar aGMTCalendar = Calendar.getInstance(TimeZone.getTimeZone("GMT")); Long phoneTimeUTC = aGMTCalendar.getTimeInMillis() And still I dont get the right difference. But if I do this: Long phoneTimeUTC = aGMTCalendar.getTimeInMillis()-3600000*2; It does work OK. Any ideas? Thanks a lot, David.
Tags (comma-separated)
Save Edits
Cancel