UTC时间在科特林不正确

时间:2018-11-17 09:22:21

标签: android kotlin

我正在使用下面的代码来获取GMT(印度时间)时间,但是代码显示了错误的值。我在时区尝试了UTC和GMT。

val f = SimpleDateFormat("yyyy-MM-dd HH:mm:ss z")
println("Hello World"+f)
f.timeZone = TimeZone.getTimeZone("GMT")
println("Hello World"+f.format(Date()))

3 个答案:

答案 0 :(得分:1)

您的第一个println("Hello World"+f)会显示类似以下内容的

Hello Worldjava.text.SimpleDateFormat@4d810dfa

因为要打印对对象f的引用。
更改为:

println("Hello World"+f.format(Date()))

,您将获得在PC设置中定义的当前本地日期/时间。
如果要专门为印度打印日期/时间:

f.timeZone = TimeZone.getTimeZone("IST")
println(f.format(Date())) 

答案 1 :(得分:0)

感谢大家的回应,下面的代码对我有用。

val calender = Calendar.getInstance()

    calender.timeZone = TimeZone.getTimeZone("Asia/Calcutta")

    println("Hello World"+
        calender.get(Calendar.HOUR_OF_DAY).toString() + ":" + calender.get(Calendar.MINUTE) + ":" + calender.getActualMinimum(
            Calendar.SECOND
        )
    )

答案 2 :(得分:0)

IST或UTC对我不起作用,所以我添加了Asia / Calcutta时区。

val f = SimpleDateFormat("yyyy-MM-dd HH:mm:ss z")
println("Hello World"+f)
f.timeZone = TimeZone.getTimeZone("Asia/Calcutta")
println("Hello World"+f.format(Date()))