2015-05-23 25 views
-2

我是Android应用程序开发新手,我正在开发一款仅在印度运行的应用程序,我想在不使用“joda”库的情况下获取亚洲/科尔卡塔时区的时间 我用下面的代码,但我没有得到预期的输出如何在Android中获取IST时区

Calendar cal = Calendar.getInstance(); 
TimeZone tz = cal.getTimeZone(); 
Log.d("Time zone","="+tz.getDisplayName()); 

我想以hh:mm:ss格式

+0

@Biffen OMFG。这实际上是我在阅读标题时首先想到的(确切地说)。棒极了。 – Carcigenicate

+0

赦免? @Biffen – user3930790

+1

使用SimpleDateFormat:http://developer.android.com/reference/java/text/SimpleDateFormat.html –

回答

7
import java.util.Calendar; 
import java.util.TimeZone; 

public class Main { 
    public static void main(String[] args) { 
     Calendar calender = Calendar.getInstance(); 

     calender.setTimeZone(TimeZone.getTimeZone("Asia/Calcutta")); 

     System.out.println(calender.get(Calendar.HOUR_OF_DAY) + ":" + calender.get(Calendar.MINUTE) + ":" + calender.getActualMinimum(Calendar.SECOND)); 
    } 
} 

这是一个完整的程序,从获取时间时区在亚洲/加尔各答。它显示小时,分钟和秒钟!

+2

谢谢它的工作原理,你的代码简单易用@Bas – user3930790

3

你不会说英文,所以我们来谈谈Java吧。 ;-)

String format = "hh:mm:ss"; 
SimpleDateFormat sdf = new SimpleDateFormat(format); 
sdf.setTimeZone(TimeZone.getTimeZone("IST")); 
System.out.format("%s\n", sdf.format(new Date())); 

IST是印度标准时间或UTC/GMT + 5:30 h。我从Android API-文档中提到的Der Golem(+1)评论以及以下链接:http://www.timeanddate.com/time/zone/india/kolkata