将从天气 api 接收到的 UTC 时间转换为本地时间
Convert UTC time recieved from weather api to local time
我正在呼叫当前天气 API 响应来自
https://openweathermap.org/current
API 响应具有如下日落和日出值:
"sunrise": 1560343627, "sunset": 1560396563
参数单位写为Sunset time, Unix, UTC
我知道位置,现在我想将这个时间转换为该地点的当地时间。我该怎么做?
用于将时间戳转换为当前时间
Calendar calendar = Calendar.getInstance();
TimeZone tz = TimeZone.getDefault();
calendar.add(Calendar.MILLISECOND, tz.getOffset(calendar.getTimeInMillis()));
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.getDefault());
java.util.Date currenTimeZone=new java.util.Date((long)1379487711*1000);
Toast.makeText(TimeStampChkActivity.this, sdf.format(currenTimeZone), Toast.LENGTH_SHORT).show();
希望有用
谢谢!编码愉快!
使用java.time类.
int millisSinceEpoch = Integer.parseInt( "1560343627" ) ;
Instant instant = Instant.ofEpochMilli( millisSinceEpoch ) ;
那个 Instant
对象代表 UTC 中看到的时刻。您可以调整到一个时区,通过某个地区的人们使用的挂钟时间来查看同一时刻。
ZoneId z = ZoneId.of( "Pacific/Auckland" ) ;
ZonedDateTime zdt = instant.atZone( z ) ;
public static String covertUnixToHour(int sunrise){
Date date = new Date(sunrise* 1000L);
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm");
String formatted = sdf.format(date);
return formatted;
}
我正在呼叫当前天气 API 响应来自 https://openweathermap.org/current
API 响应具有如下日落和日出值: "sunrise": 1560343627, "sunset": 1560396563 参数单位写为Sunset time, Unix, UTC
我知道位置,现在我想将这个时间转换为该地点的当地时间。我该怎么做?
用于将时间戳转换为当前时间
Calendar calendar = Calendar.getInstance();
TimeZone tz = TimeZone.getDefault();
calendar.add(Calendar.MILLISECOND, tz.getOffset(calendar.getTimeInMillis()));
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.getDefault());
java.util.Date currenTimeZone=new java.util.Date((long)1379487711*1000);
Toast.makeText(TimeStampChkActivity.this, sdf.format(currenTimeZone), Toast.LENGTH_SHORT).show();
希望有用
谢谢!编码愉快!
使用java.time类.
int millisSinceEpoch = Integer.parseInt( "1560343627" ) ;
Instant instant = Instant.ofEpochMilli( millisSinceEpoch ) ;
那个 Instant
对象代表 UTC 中看到的时刻。您可以调整到一个时区,通过某个地区的人们使用的挂钟时间来查看同一时刻。
ZoneId z = ZoneId.of( "Pacific/Auckland" ) ;
ZonedDateTime zdt = instant.atZone( z ) ;
public static String covertUnixToHour(int sunrise){
Date date = new Date(sunrise* 1000L);
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm");
String formatted = sdf.format(date);
return formatted;
}