【问题标题】:How to add one hour to UTC in android如何在android中将一小时添加到UTC
【发布时间】:2019-11-09 15:56:51
【问题描述】:

我正在尝试获取当前时间,然后转换为 yyyy-MM-dd HH:mm:ss 格式的 UTC+1 时区

我尝试了以下代码。它没有用。有人可以帮忙吗?

public static String getDateTime() {
    Date time = Calendar.getInstance().getTime();
    SimpleDateFormat outputFmt = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");        
    outputFmt.setTimeZone(TimeZone.getTimeZone("UTC+1"));
    return outputFmt.format(time);
}

【问题讨论】:

标签: java android timezone utc datetime-conversion


【解决方案1】:

我觉得你可以试试:

public static String getDateTime() { 

    SimpleDateFormat outputFmt = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 

    // Read current time already in desired timezone
    Calendar time = Calendar.getInstance(TimeZone.getTimeZone("Europe/London")); 

    return outputFmt.format(time.getTime());
}

【讨论】:

  • 在我的电脑上这刚刚返回2019-06-29 11:30:12,这是我所在时区的当前时间。因此,UTC 和欧洲/伦敦都不是。
【解决方案2】:

以下方法将使UTC时间增加一小时。

公共静态字符串 getDateTime()

{

SimpleDateFormat outputFmt = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
outputFmt.setTimeZone(TimeZone.getTimeZone("UTC"));
String utctime=outputFmt.format(new Date());
String time=null;
Calendar calendar=null;
Date date;

try
{
    calendar = Calendar.getInstance();
    calendar.setTime(outputFmt.parse(utctime));
    calendar.add(Calendar.HOUR, 1);
    date=calendar.getTime();
    time=outputFmt.format(date);

} catch (ParseException e) {
    e.printStackTrace();
}

return time;

}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-12-21
    • 1970-01-01
    • 1970-01-01
    • 2018-03-22
    • 1970-01-01
    • 2010-12-11
    • 2012-11-21
    相关资源
    最近更新 更多