java.time
ZoneOffset currentOffset = OffsetDateTime.now(ZoneId.systemDefault()).getOffset();
System.out.println("Current offset is GMT" + currentOffset);
Запуск вышеуказанного фрагмента сегодня в часовом поясе Европы / Копенгагена дал:
Текущее смещение: GMT + 02: 00
Дания в +01: 00 в стандартное время и +02: 00 в летнее время (летнее время).В настоящее время мы используем летнее время, поэтому выходные данные соответствуют ожиданиям и учитывают летнее время.
Не зная Xamarin, я даю вам код Java и доверяю вам конвертировать.
Если вместо этогоЯ установил в качестве часового пояса для своей JVM Азию / Катманду. Получено смещение, о котором вы просили:
Текущее смещение: GMT + 05: 45
Ссылка: Обучающее руководство по Oracle: Дата и время , объясняющее, как использовать java.time
.