как преобразовать время сервера в местное время

   RelativeLayout layy;
    layy = (RelativeLayout) findViewById(R.id.lay);
    layy.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            Toast.makeText(getApplicationContext(), "My Toast",
                    Toast.LENGTH_SHORT).show();
        }
    });

создайте макет, который заполняет экран и установите onclicklistener в этот макет, надеюсь, это поможет Я проверил, и он работает нормально

9
задан Jonathan Leffler 26 November 2008 в 00:32
поделиться

2 ответа

Единственным путем необходимо сделать это, следующие:

string zoneId = "Central European Standard Time";
TimeZoneInfo tzi = TimeZoneInfo.FindSystemTimeZoneById(zoneId);
DateTime result = TimeZoneInfo.ConvertTimeFromUtc(DateTime.UtcNow,tzi);
Console.WriteLine("Time is " + result + " in Denmark");

Используя TimeZoneInfo класс является единственным надежным путем в .NET, чтобы преобразовать в различные часовые пояса И получить надлежащие преобразования DST.

TimeZoneInfo.ConvertTimeToUtc(dtLocal,tzi) обратное преобразование с местного времени до времени UTC.


Для Строк идентификатора TimeZone можно выполнить бит кода сюда...

foreach( var tz in TimeZoneInfo.GetSystemTimeZones() )
{
    Console.WriteLine(tz.DisplayName + " is Id=','" + tz.Id + "'");
}
11
ответ дан 4 December 2019 в 20:25
поделиться

Можно получить свободное время сервер и сделать это.

DateTime myTimeGMT = ServerTime.ToUniversalTime();

Это делает это:

DateTime myTimeLocal = myTimeGMT.ToLocalTime();

Единственное ограничение здесь является компьютером, Вы идете, должен быть установлен на часовой пояс, в который Вы преобразовываете.

По моему опыту.NET испытывает затруднения при преобразовании между часовыми поясами, когда ни один 'Со' времени или 'Ко' времени не является зоной местного времени.

Я надеюсь, что это помогает.

0
ответ дан 4 December 2019 в 20:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: