显示准确的时间而不是设备的时间

时间:2016-01-04 19:06:05

标签: java android time

我不知道该怎么做,需要一些建议。我的应用目前使用的是设备的时间,而不是"正确的时间"。有什么方法可以显示"正确的时间"而不是设备的时间?例如,当用户更改设备的时间时,textview的时间将跟随新设备的时间。但是,我不希望这种情况发生。

以下是我的代码:

//start time
private void updateTextView() {

    Calendar a = Calendar.getInstance();
    int year = a.get(Calendar.YEAR);
    int month = a.get(Calendar.MONTH) + 1;
    int date = a.get(Calendar.DATE);
    int hourOfDay = a.get(Calendar.HOUR_OF_DAY);
    int minute = a.get(Calendar.MINUTE);

    datetime_start = (TextView) findViewById(R.id.inputStartTime);
    datetime_start.setText(year + "-" + month + "-" + date + " " + String.valueOf(hourOfDay) + ":" + String.valueOf(minute) + ":00");

}

如果可能,请告诉我该怎么做。我是Java Coding的初学者,目前正在为我的学校项目编写代码。谢谢。

1 个答案:

答案 0 :(得分:1)

如果“正确”时间表示UTC时间,则需要使用UTC获取Calendar实例,如下所示:

Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("UTC"));

通常时间是本地化的(时区调整),因为这是通常需要的。

您可以在此处查看问题/答案以获取更多信息:How can I set a Calendar with UTC time?