如何在android中找出GMT偏移值

时间:2014-06-23 05:15:57

标签: android gmt

如何找出用户的GMT值,例如印度为+05:30。 如何在Android中计算此+05:30值?

我需要这个,因为我在我的应用程序中使用了一个java库,它有一个+05:30字段的函数,我想通过计算生成这个字段,这样我就不必为各个国家填写个别值。 / p>

5 个答案:

答案 0 :(得分:6)

这才是真棒

   public double getOffset(){
        TimeZone timezone = TimeZone.getDefault();
        int seconds = timezone.getOffset(Calendar.ZONE_OFFSET)/1000;
        double minutes = seconds/60;
        double hours = minutes/60;
        return hours;
  }

答案 1 :(得分:0)

首先获取纪元系统时间

System.currentTimeMillis()

然后使用日期对象,将时区设置为GMT并使用长valye初始化

dateObj.setTimeZone(TimeZone.getTimeZone("GMT"))

答案 2 :(得分:0)

GMT使用以下功能,dateInString是日期的值,format的日期格式为yyyyMMddHH

   public static long getDate(String dateInString,String format){
       long date = 0;
       SimpleDateFormat dateFormat = new SimpleDateFormat(format);

       try {
        dateFormat.setTimeZone(TimeZone.getTimeZone("GMT"));
        Date d = dateFormat.parse(dateInString);
        date = d.getTime();
       } catch (ParseException e) {
        e.printStackTrace();
       }

       return date;
   }

答案 3 :(得分:0)

使用以下方法获取UTC: -

public int GetUnixTime()
{
    Calendar calendar = Calendar.getInstance();
    long now = calendar.getTimeInMillis();
    int utc = (int)(now / 1000);
    return (utc);

}

获得UTC后,现在将其与此网站http://www.xav.com/time.cgi中的Epoch进行比较。

请参阅以下链接: -

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

答案 4 :(得分:0)

如果您在应用中存储时区与其GMT偏移之间的地图,则可以调用TimeZone.getDefault()来获取设备的时区并快速查找以返回GMT偏移。这样您就不必依赖可能棘手的日期/时间计算,并确保您拥有正确的值。