GMT (UTC) Time Converter : Time « Date Type « Android






GMT (UTC) Time Converter

  
/* 
 * Copyright 2010 TYTung.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not
 * use this file except in compliance with the License. You may obtain a copy of
 * the License at
 * 
 * http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 * License for the specific language governing permissions and limitations under
 * the License.
 */
package tyt.android.bigplanettracks.tracks;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Locale;
import java.util.TimeZone;

/**
 * GMT (UTC) Time Converter.
 * 
 * E.g.: GMTTime = "2009-10-09T00:37:22Z";
 * 
 * @author TYTung
 * @version 0.1
 */
public class MyTimeUtils {

  /** "Fri 2009-10-09 08:37:22 GMT+0800" // TimeZone is Taipei */
//  private static SimpleDateFormat LocalTimeFormatter = new SimpleDateFormat(
//      "EEE yyyy-MM-dd HH:mm:ss zzz", Locale.US);

  /** "Fri Oct 09 08:37:22 CST 2009" // TimeZone is Taipei, zzz=[GMT+0800 in Android | CST in Java] */
  private static SimpleDateFormat LocalTimeFormatter = new SimpleDateFormat(
      "EEE MMM dd HH:mm:ss zzz yyyy", Locale.US);

  private static SimpleDateFormat GMTTimeFormatter = new SimpleDateFormat(
      "yyyy-MM-dd'T'HH:mm:ss'Z'");
  {
    GMTTimeFormatter.setTimeZone(TimeZone.getTimeZone("GMT"));
  }
  
  public static boolean isGMTTimeFormat(String strGMTTime) {
    boolean isValid = false;
    try {
      GMTTimeFormatter.parse(strGMTTime);
      isValid = true;
    } catch (ParseException e) {
    }
    if (strGMTTime.length() != 20)
      isValid = false;
    return isValid;
  }
  
  public static long getGMTTime(String strGMTTime) {
    long millisecond = 0;
    try {
      millisecond = GMTTimeFormatter.parse(strGMTTime).getTime();
    } catch (ParseException e) {
      if (strGMTTime.length() > 0)
        e.printStackTrace();
      else
        System.err.println(e.getMessage());
    }
    return millisecond;
  }
  
  public static long getLocalTime(String strLocalTime) {
    long millisecond = 0;
    try {
      LocalTimeFormatter.setTimeZone(TimeZone.getDefault());
      millisecond = LocalTimeFormatter.parse(strLocalTime).getTime();
    } catch (ParseException e) {
      e.printStackTrace();
    }
    return millisecond;
  }
  
  public static String getLocalTimeString(String strGMTTime) {
    String strLocalTime = null;
    try {
      GMTTimeFormatter.setTimeZone(TimeZone.getTimeZone("GMT"));
      Date date = GMTTimeFormatter.parse(strGMTTime);
      LocalTimeFormatter.setTimeZone(TimeZone.getDefault());
      strLocalTime = LocalTimeFormatter.format(date);
    } catch (ParseException e) {
      e.printStackTrace();
    }
    return strLocalTime;
  }
  
  public static String getLocalTimeString(long millisecond) {
    LocalTimeFormatter.setTimeZone(TimeZone.getDefault());
    String strLocalTime = LocalTimeFormatter.format(millisecond);
    return strLocalTime;
  }

  public static String getGMTTimeString(long millisecond) {
    Calendar cal = Calendar.getInstance();
    int zoneOffsetTime = cal.get(Calendar.ZONE_OFFSET) + cal.get(Calendar.DST_OFFSET);
    long millisecondsUTC = millisecond - zoneOffsetTime;
    GMTTimeFormatter.setTimeZone(TimeZone.getDefault());
    String strGMTTime = GMTTimeFormatter.format(millisecondsUTC);
    return strGMTTime;
  }

  public static String getTimeString(long millisecond) {
    String timeString = "";

    int totalSeconds = (int) millisecond / 1000;
    int hours = totalSeconds / 3600;
    int remainder = totalSeconds % 3600;
    int minutes = remainder / 60;
    int seconds = remainder % 60;

    if (hours == 0) {
      timeString = minutes + ":" + seconds;
    } else {
      timeString = hours + ":" + minutes + ":" + seconds;
    }
    return timeString;
  }
  
  private MyTimeUtils() {
  }
  
}

   
    
  








Related examples in the same category

1.Timer task
2.Using Timer to do repeat task
3.Get Time String From Milliseconds
4.Returns the current time since 1970, UTC, in seconds.
5.Returns the current time since 1970, UTC, in milliseconds.
6.Converts time from a long to a string in a format set by the user in the phone's settings.
7.Returns the current time since 1970, local time zone, in milliseconds.
8.time From Local Millis
9.Given a number, round up to the nearest power of ten times 1, 2, or 5. The argument must be strictly positive.
10.Thread based Timer
11.Create Timestamp
12.Timestamp to Local time in long
13.Timestamp to UTC
14.Get Current Time
15.Get Elapsed Time Minutes Seconds String
16.Get Time String
17.Get Moscow Time
18.Returns the time represented by the time String.
19.Utils for calculating sleep time
20.int To String Time Format
21.millis To Seconds To Time Str
22.Convert time in seconds to a string in 00:00:00
23.remaining Time To Human Readable Form
24.Get a readable string displaying the time
25.Return the time in ms into format MM:SS
26.Get Time Difference
27.TimeSpan class
28.Calculate how many days the first time is expired than second time.
29.Checks if the first parameter is after the second parameter in time.
30.Checks if the first parameter is before the second parameter in time.