- Локальное время и дата рождения или зачем UTC
- Пример
- Пути решения
- Существует разница между локальным и серверным временем
- 3 ответов
- Описание функций языка Си
- localtime – преобразование системного времени в местное.
- Управление временем в linux
- Материал из Пингвиньи радостей
- Содержание
- Системное время
- Аппаратные часы
- Развёртывание сервера точного времени
- Настройка часовых поясов и «летнего времени»
- Синхронизация времени в локальной сети
- Синхронизация системного времени и аппаратных часов
- Местное время
- Полезное
- Смотреть что такое «Местное время» в других словарях:
Локальное время и дата рождения или зачем UTC
В мире программирования уже давно введены стандарты мирового и локального времени и процедуры преобразования между ними. Однако для обычных людей это все ново и они не обращают на это внимание. В результате дата рождения и другие даты могу “съехать” относительно того, что у вас записано в паспорте. Поэтому необходимо более щепетильно подходить к данным времени перед внесением их, особенно в блокчейн. Давайте разберемся
Пример
У вас в паспорте записана дата рождения например 1990-05-05 при этом также указывается место рождения. По нему можно определить местное время и сдвиг к мировому времени.
Если не обращать внимание на сдвиг по мировому времени, то программное обеспечение само поставит сдвиг по локальному времени у вас на устройстве, с которого вы вводите дату рождения, и может получиться так, что:
Вы родились во Владивостоке в 23 часа ночи — то есть UTC+10, а по Москве это минус 7 часов (московское время — это сдвиг UTC+03),
А заполняете форму своей персоны, например, находясь в Москве — в результате программное обеспечение на вашем локальном устройстве (например мобилка, веб-сайт, полная нода блокчейн Erachain) подставит UTC+03
Точное время рождения вы не ставите и вместо вас его ставит ваше устройство как 00:00.
В результате в блокчейн Erachain ваша дата рождения будет такая 1990-05-05 в 00:00 UTC+03
При этом если вы посмотрите дату рождения в международном стандарте, то получится что вы родились на день раньше: 1990-05-04 в 21:00.
Математически все верно, но по “человечески” не совсем!
Теперь если вы находитесь в Москве или Владивостоке, то день рождения (5=е число) не изменится даже с учетом применения локального сдвига.
Однако, если вы например находитесь в Европе, то ваша дата рождения станет 4-е число!
Это можно исправить если в поле где будет отображаться ваша дата рождения принудительно ввести смещение UTC+03.
Пути решения
При вводе важных дат обращать внимание на точное время до минут и на локальный сдвиг в международном стандарте UTC, а не полагаться на ваше локальное время, которое выставит ваше устройство (с которого вы вводите дату и время), и которое может не совпадать с нужным смещением, так как действие тогда происходило в другой местности с другим временным сдвигом. То есть нужно всегда вводить свой UTC, который соответствует нужной местности и точное время до минут.
При выводе даты и времени всегда обращать внимание на сдвиг по времени на том устройстве на котором вы его видите. Так в Японии у вас дата рождения будет 1990-05-05, а в Европе уже 1990-05-04, так как устройство которое будет производить отображение само подставит локальный сдвиг и преобразует дату в международном формате в локальное время. Поэтому обращайте внимание на UTC так же при выводе ваших данных и пересчитывайте время “в уме” или задайте UTC при выводе, если есть такая возможность.
Источник
Существует разница между локальным и серверным временем
в приложении MVC4 c# я использовал DateTime.Now когда объект создан в моем приложении. После развертывания разница между локальным компьютером и хостингом составила +8 часов. Затем я изменил его на DateTime.UtcNow , теперь разница -4 часа.
например, в моем компьютере дата 20 Mar 2013, 14:28:12 , но дата хранит в базе данных, как 20 Mar 2013, 10:28:12.
что я должен делать всем пользователям во всех странах, чтобы использовать 1 ту же дату?
Edit: мой часовой пояс в(UTC+04:00) Баку сервер после PST
3 ответов
допустим, например, что ваш пользователь находится в Нью-Йорке (GMT — 5), а ваш сервер-в Индии (GMT + 5:30).
когда пользователь видит «локальное» время 10: 00am (EST), ваш сервер будет видеть «локальное» время 7:30pm (IST). Однако, используя UTC в обоих местах. пользователь увидит время UTC 3pm, а сервер увидит время UTC 3pm.
использование UTC во всех местах, но сохранение referece часового пояса пользователей позволяет всегда работать в UTC, но по-прежнему преобразуйте время в «локальное» время пользователей, когда вы хотите показать его им.
вы также не можете полагаться на то, где сервер размещается особенно, если это виртуальный сервер. Также вы не можете предположить, в какой часовой пояс хостинговая компания установила свои серверы. Лучше всего всегда кодировать defensivly с помощью DateTime.UtcNow при хранении времени даты в базе данных.
чтобы преобразовать это время UTC обратно в часовой пояс пользователя, вам нужно будет сделать следующее:
к твоему сведению, ты можно найти список часовых поясов из:
это должно распечатать:
как вы можете видеть, Вам нужно будет знать часовой пояс пользователей. Есть 2 способа узнать время пользователей:
- пользователь выбирает свой часовой пояс в своих пользовательских настройках
- используйте javascript для обнаружения часового пояса своей машины и отправьте его обратно с помощью формы
Я бы предложил первый вариант, так как второй можно усложнить людям жизнь. Например, если они базируются в Великобритании и летают в Штаты на неделю. Все изменится, и они могут не понять!
когда я работал над проектом, используемым международными пользователями, мы всегда использовали DateTime.UtcNow
если это локальный проект — т. е. предназначена только для использования в вашем часовом поясе, то DateTime.Now будет достаточно.
ваше местное время-это ваше системное время. Проверьте часовой пояс в операционной системе. Время сервера, на которое вы ссылаетесь, соответствует часовому поясу в файлах конфигурации сервера.
убедитесь, что у вас есть часовой пояс операционной системы и часовой пояс вашего сервера.
Источник
Описание функций языка Си
All | _ | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z
localtime – преобразование системного времени в местное.
struct tm *localtime (const time_t * s_time);
s_time – указатель на переменную, содержащую время в секундах с 0 часов 1 января 1970 года.
Указатель на структуру, содержащую преобразованное системное время в дату и местное время.
Функция localtime () преобразует время в секундах, истекшее с 0 часов 1 января 1970 года (показание системных часов CLOCK_REALTIME) в местное (с учетом часового пояса) время и дату. Результат помещается в структуру типа tm и функция возвращает указатель на эту структуру.
Структура tm содержит элементы:
int tm_sec – секунды (отсчет с 0);
int tm_min – минуты (отсчет с 0);
int tm_hour — часы (отсчет с 0);
int tm_mday — день месяца (отсчет с 1);
int tm_mon — месяц (отсчет с 0);
int tm_year – год (за начала отсчета принят 1900 год);
int tm_wday — день недели (воскресенье — 0);
int tm_yday — день в году (отсчет с 0);
int tm_isdst — признак «летнее время» (больше нуля если «летнее время», ноль если «зимнее время», меньше нуля если нет информации.
Внимание! Не рекомендуется использовать функцию localtime () в многопоточных приложениях, так как данные функции использует общую структуру для сохранения преобразованного времени и одновременный вызов функции из разных потоков может привести к неверному результату работы. Для работы в многопоточных приложениях используйте функцию localtime_r().
В примере определяется текущее системное время в секундах, преобразуется в локальное время (с учетом часового пояса) с помощью функции localtime, затем локальное время преобразуется в текстовую строку с помощью функции asctime и результат выводится в консоль.
Источник
Управление временем в linux
Материал из Пингвиньи радостей
Содержание
Статья об управлении временем в linux
Управление временем в linux это комплекс мероприятий по настройке серверов и рабочих станций локальной сети для установки и поддержания точного времени.
Полный план мероприятий по управлению временем включает в себя
Описание управления временем в linux приведено на примере операционной системы Debian GNU/Linux.
Системное время
Системным временем называется дата и время используемые Операционной средой.
Системное время первоначально устанавливается на основании значений аппаратных часов и часового пояса и действует до первой синхронизации с сервером точного времени. Установка системного времени операционной среды запускает процесс синхронизации часов в локальной сети.
Аппаратные часы
Аппаратным временем называется дата и время используемое компьютером, когда он выключен.
Аппаратные часы устанавливаются и хранятся в БИОС компьютера.
В некоторых случаях хранение времени в аппаратных часах в формате UTC может предоставлять определённые неудобства. Например при установке времени BIOS/CMOS вручную (в соответствии с наручными часами) придётся самостоятельно учитывать разницу в часовых поясах. Или например при совместном использовании на одном компьютере операционных систем Windows и linux.
Для изменения в Linux стандарта хранения времени в аппаратных часах
- отказ от хранения времени в аппаратных часах в формате UTC
- применение нового стандарта хранения аппаратного времени
Развёртывание сервера точного времени
Сервер точного времени локальной сети это рабочая станция, на которой работает Сервер времени, обеспечивающий связь с Сервером точного времени в интернет для периодичного обновления системного времени.
В качестве Сервера точного времени может быть использована например программа Chrony.
Настройка часовых поясов и «летнего времени»
Часовой пояс это геофизическое деление земного шара на части по 15 градусов каждая, начиная с Гринвича, в Англии.
Настройка часового пояса необходима, если аппаратные часы хранят время в формате UTC, как это принято по умолчанию в linux и в месте установки рабочей станции осуществляется переход на «летнее/зимнее время».
Для установки часового пояса могут быть использованы команды
Синхронизация времени в локальной сети
Синхронизация времени в локальной сети это процесс связи рабочей станции с помощью NTP-клиента с сервером точного времени в локальной сети для синхронизация с ним своего системного времени.
Для синхронизации времени могут быть использованы например утилита ntpdate или сервер времени ntp, работающий в режиме клиента.
Для синхронизации системного времени с помощью ntpdate
- для «непрерывной» синхронизации с помощью cron, в например /etc/crontab добавляется строка
- для разовой синхронизации
Синхронизация системного времени и аппаратных часов
Синхронизация системного времени и аппаратных часов это процесс установки аппаратных часов рабочей станции в соответствии с системным временем.
Такая синхронизация требуется например при настройке автовключения рабочих станций по времени, например при использовании компьютера в качестве будильника или при одновременном (поочерёдном) использовании на рабочей станции операционных сред Linux и windows.
Для установки аппаратных часов используется утилита hwclock:
Источник
Местное время
Ме́стное вре́мя — одинаковое время в один момент суток в точках, расположенных на одном меридиане.
Конкретно, под местным временем могут пониматься:
- Поясное время в данном конкретном месте — это наиболее частое подразумеваемое значение;
- Среднее солнечное время на данном меридиане;
- Местное солнечное время на данном меридиане с учётом изменяемой продолжительности астрономических суток, также называемое в астрономии «Истинное солнечное время», и отсчитываемое от моментов астрономическихполуночи и полудня (см. также солнечные сутки).
Науки: Физика, История (Летоисчисление), Астрономия, Геология, Палеонтология | ||
Основные понятия | Время · Хронометрия · Шкала величин (время) · Метрология | |
---|---|---|
Международные стандарты | Всемирное координированное время (UTC) · Всемирное время (UT) · Международное атомное время (TAI) · ISO 31-1 · DUT1 · Секунда координации · Международная служба вращения Земли (IERS) · Земное время (TT) · Геоцентрическое координатное время (TCG) · Барицентрическое координатное время (TCB) · Гражданское время · Формат времени (12-часовой (AM/PM) · 24-часовой) · ISO 8601 · Линия перемены даты · Солнечное время · Часовой пояс · Летнее время | |
Устаревшие стандарты | Эфемеридное время · Барицентрическое динамическое время (TDB) · Среднее время по Гринвичу (GMT) · Гринвичский меридиан | |
Время в физике | Пространство-время · Хронон · Космологическая декада · Планковская эпоха · Планковское время · T-симметрия · Теория относительности · Релятивистское замедление времени · Гравитационное замедление времени · Время системы отсчёта · Собственное время · Time domain · Непрерывное время · Дискретное время · Абсолютное пространство и время | |
Хорология | Часы · Астрариум · Атомные часы · Песочные часы · Хронометр · Радиочасы · Солнечные часы · Наручные часы · Водяные часы · История устройств для хранения времени · Уравнение времени · Complication | |
Календарь | Астрономический · Юлианский · Григорианский · Исламский · Лунно-солнечный · Солнечный · Лунный · Эпакта · Интеркаляция · Високосный год · Тропический год · Равноденствие · Солнцестояние · Семидневная неделя · Дни недели · Алгоритм вычисления дня недели · Вруцелето | |
Археология и геология | Международная стратиграфическая комиссия · Геохронологическая шкала · Датировка в археологии | |
Хронология в астрономии | Nuclear time scale · Прецессия · Звёздное время · Галактический год | |
Единицы измерения времени | Секунда · Минута · Час · День · Неделя · Фортнайт · Месяц · Год · Десятилетие · Век · Тысячелетие · Мгновение · Пятилетие (англ.) · Секулум (англ.) · Шейк (англ.) | |
См. также | Хронология · Длительность · Системное время · Метрическое время · Mental chronometry · Стоимость денег с учётом фактора времени · Таймкипер · Декретное время |
Wikimedia Foundation . 2010 .
Полезное
Смотреть что такое «Местное время» в других словарях:
МЕСТНОЕ ВРЕМЯ — время, определяемое для данного места на Земле; зависит от географической долготы места и одинаково для всех точек на одном меридиане. В быту местное время часто неправильно называют поясное время … Большой Энциклопедический словарь
МЕСТНОЕ ВРЕМЯ — МЕСТНОЕ время, время, определяемое для данного места на Земле: зависит от географической долготы и одинаково для всех точек на одном меридиане. В быту местным временем часто неправильно называют поясное время … Современная энциклопедия
местное время — Время, определяемое для данного места на Земле, зависит от географической долготы места и одинаково для всех пунктов, расположенных на одном меридиане. Syn.: поясное время … Словарь по географии
Местное время — МЕСТНОЕ ВРЕМЯ, время, определяемое для данного места на Земле: зависит от географической долготы и одинаково для всех точек на одном меридиане. В быту местным временем часто неправильно называют поясное время. … Иллюстрированный энциклопедический словарь
местное время — — [[Англо русский словарь сокращений транспортно экспедиторских и коммерческих терминов и выражений ФИАТА]] Тематики услуги транспортно экспедиторские EN L.T.local time … Справочник технического переводчика
местное время — время, определяемое для данного места на Земле: зависит от географической долготы места и одинаково для всех точек на одном меридиане. В быту местное время часто неправильно называют поясное время. * * * МЕСТНОЕ ВРЕМЯ МЕСТНОЕ ВРЕМЯ, время,… … Энциклопедический словарь
местное время — vietinis laikas statusas T sritis Standartizacija ir metrologija apibrėžtis Bet kurio Žemės dienovidinio saulinis arba žvaigždinis laikas, vienodas visuose to dienovidinio taškuose. atitikmenys: angl. local time vok. Ortzeit, f rus. местное время … Penkiakalbis aiškinamasis metrologijos terminų žodynas
местное время — vietinis laikas statusas T sritis Kūno kultūra ir sportas apibrėžtis Bet kuriame Žemės dienovidinyje išmatuotas vidutinis Saulės laikas. atitikmenys: angl. local time vok. Lokalzeit, f rus. местное время … Sporto terminų žodynas
местное время — 2.23 местное время: Значение времени в системе отсчета времени в данном регионе. Примечание Разницу между местным временем и «Всемирным временем» определяет в каждом регионе власть, ответственная за решение данных вопросов. Разница зависит от… … Словарь-справочник терминов нормативно-технической документации
Местное время — время, определяемое для конкретного места на Земле. Зависит от географической долготы места и одинаково для всех точек на данном меридиане. Сравни: Поясное время. Декретное время … Астрономический словарь
МЕСТНОЕ ВРЕМЯ — время, определяемое для данного места на Земле: зависит от геогр. долготы места и одинаково для всех точек па одном меридиане. В быту М. в. часто неправильно называют поясное время … Естествознание. Энциклопедический словарь
Источник