1c9d3be3f0e10b62fa6d4899ce827866299d41783Mike Lockwood/* 28ab8b411b81e4581060a31a97a0cb204a803b2e5Mike Lockwood * Copyright (C) 2008 The Android Open Source Project 3c9d3be3f0e10b62fa6d4899ce827866299d41783Mike Lockwood * 4c9d3be3f0e10b62fa6d4899ce827866299d41783Mike Lockwood * Licensed under the Apache License, Version 2.0 (the "License"); 5c9d3be3f0e10b62fa6d4899ce827866299d41783Mike Lockwood * you may not use this file except in compliance with the License. 6c9d3be3f0e10b62fa6d4899ce827866299d41783Mike Lockwood * You may obtain a copy of the License at 7c9d3be3f0e10b62fa6d4899ce827866299d41783Mike Lockwood * 8c9d3be3f0e10b62fa6d4899ce827866299d41783Mike Lockwood * http://www.apache.org/licenses/LICENSE-2.0 9c9d3be3f0e10b62fa6d4899ce827866299d41783Mike Lockwood * 10c9d3be3f0e10b62fa6d4899ce827866299d41783Mike Lockwood * Unless required by applicable law or agreed to in writing, software 11c9d3be3f0e10b62fa6d4899ce827866299d41783Mike Lockwood * distributed under the License is distributed on an "AS IS" BASIS, 12c9d3be3f0e10b62fa6d4899ce827866299d41783Mike Lockwood * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13c9d3be3f0e10b62fa6d4899ce827866299d41783Mike Lockwood * See the License for the specific language governing permissions and 14c9d3be3f0e10b62fa6d4899ce827866299d41783Mike Lockwood * limitations under the License. 15c9d3be3f0e10b62fa6d4899ce827866299d41783Mike Lockwood */ 16c9d3be3f0e10b62fa6d4899ce827866299d41783Mike Lockwood 17191d898468d2f4910a684f429bec518320843744Mike Lockwoodpackage com.android.locationtracker.data; 18c9d3be3f0e10b62fa6d4899ce827866299d41783Mike Lockwood 19c9d3be3f0e10b62fa6d4899ce827866299d41783Mike Lockwoodimport java.util.Calendar; 20c9d3be3f0e10b62fa6d4899ce827866299d41783Mike Lockwoodimport java.util.TimeZone; 21c9d3be3f0e10b62fa6d4899ce827866299d41783Mike Lockwood 22c9d3be3f0e10b62fa6d4899ce827866299d41783Mike Lockwood/** 23c9d3be3f0e10b62fa6d4899ce827866299d41783Mike Lockwood * Provides formatting date as string utilities 24c9d3be3f0e10b62fa6d4899ce827866299d41783Mike Lockwood */ 25c9d3be3f0e10b62fa6d4899ce827866299d41783Mike Lockwoodpublic class DateUtils { 26c9d3be3f0e10b62fa6d4899ce827866299d41783Mike Lockwood 27c9d3be3f0e10b62fa6d4899ce827866299d41783Mike Lockwood private DateUtils() { 28c9d3be3f0e10b62fa6d4899ce827866299d41783Mike Lockwood 29c9d3be3f0e10b62fa6d4899ce827866299d41783Mike Lockwood } 30c9d3be3f0e10b62fa6d4899ce827866299d41783Mike Lockwood 31c9d3be3f0e10b62fa6d4899ce827866299d41783Mike Lockwood /** 32c9d3be3f0e10b62fa6d4899ce827866299d41783Mike Lockwood * Returns timestamp given by param in KML format ie yyyy-mm-ddThh:mm:ssZ, 33c9d3be3f0e10b62fa6d4899ce827866299d41783Mike Lockwood * where T is the separator between the date and the time and the time zone 34c9d3be3f0e10b62fa6d4899ce827866299d41783Mike Lockwood * is Z (for UTC) 35c9d3be3f0e10b62fa6d4899ce827866299d41783Mike Lockwood * 36c9d3be3f0e10b62fa6d4899ce827866299d41783Mike Lockwood * @return KML timestamp as String 37c9d3be3f0e10b62fa6d4899ce827866299d41783Mike Lockwood */ 38c9d3be3f0e10b62fa6d4899ce827866299d41783Mike Lockwood public static String getKMLTimestamp(long when) { 39c9d3be3f0e10b62fa6d4899ce827866299d41783Mike Lockwood TimeZone tz = TimeZone.getTimeZone("GMT"); 40c9d3be3f0e10b62fa6d4899ce827866299d41783Mike Lockwood Calendar c = Calendar.getInstance(tz); 41c9d3be3f0e10b62fa6d4899ce827866299d41783Mike Lockwood c.setTimeInMillis(when); 42c9d3be3f0e10b62fa6d4899ce827866299d41783Mike Lockwood return String.format("%tY-%tm-%tdT%tH:%tM:%tSZ", c, c, c, c, c, c); 43c9d3be3f0e10b62fa6d4899ce827866299d41783Mike Lockwood } 44c9d3be3f0e10b62fa6d4899ce827866299d41783Mike Lockwood 45c9d3be3f0e10b62fa6d4899ce827866299d41783Mike Lockwood /** 46c9d3be3f0e10b62fa6d4899ce827866299d41783Mike Lockwood * Helper version of getKMLTimestamp, that returns timestamp for current 47c9d3be3f0e10b62fa6d4899ce827866299d41783Mike Lockwood * time 48c9d3be3f0e10b62fa6d4899ce827866299d41783Mike Lockwood */ 49c9d3be3f0e10b62fa6d4899ce827866299d41783Mike Lockwood public static String getCurrentKMLTimestamp() { 50c9d3be3f0e10b62fa6d4899ce827866299d41783Mike Lockwood return getKMLTimestamp(System.currentTimeMillis()); 51c9d3be3f0e10b62fa6d4899ce827866299d41783Mike Lockwood } 52c9d3be3f0e10b62fa6d4899ce827866299d41783Mike Lockwood 53c9d3be3f0e10b62fa6d4899ce827866299d41783Mike Lockwood /** 54c9d3be3f0e10b62fa6d4899ce827866299d41783Mike Lockwood * Returns timestamp in following format: yyyy-mm-dd-hh-mm-ss 55c9d3be3f0e10b62fa6d4899ce827866299d41783Mike Lockwood */ 56c9d3be3f0e10b62fa6d4899ce827866299d41783Mike Lockwood public static String getCurrentTimestamp() { 57c9d3be3f0e10b62fa6d4899ce827866299d41783Mike Lockwood Calendar c = Calendar.getInstance(); 58c9d3be3f0e10b62fa6d4899ce827866299d41783Mike Lockwood c.setTimeInMillis(System.currentTimeMillis()); 59c9d3be3f0e10b62fa6d4899ce827866299d41783Mike Lockwood return String.format("%tY-%tm-%td-%tH-%tM-%tS", c, c, c, c, c, c); 60c9d3be3f0e10b62fa6d4899ce827866299d41783Mike Lockwood } 61c9d3be3f0e10b62fa6d4899ce827866299d41783Mike Lockwood} 62