根据经纬度获取时区并返回当前时间
我使用的是 NodaTime 可以按照程序包或者引用dll文件
引用命名空间
using NodaTime;
using NodaTime.TimeZones;
代码
var systemClock = SystemClock.Instance;
var timeZoneDb = TzdbDateTimeZoneSource.Default;
var timeZone = timeZoneDb.ForId(timeZoneId);
var nowInDubai = systemClock.GetCurrentInstant().InZone(timeZone);
timeZoneId的数据是 Asia/Shanghai这种格式,这里可以通过谷歌的api进行获取
https://maps.googleapis.com/maps/api/timezone/json?timestamp=1331161200&location=22.665347158616097,114.04198752102857&key=yourkey
{
"dstOffset": 0,
"rawOffset": 28800,
"status": "OK",
"timeZoneId": "Asia/Shanghai",
"timeZoneName": "China Standard Time"
}
即可获取根据经纬度,获取地区的当前时间