текущее время
текущее время
—
[А.С.Гольдберг. Англо-русский энергетический словарь. 2006 г.]
Тематики
Смотреть что такое «текущее время» в других словарях:
Время (значения) — Текущее время: 14:37 UTC. Время: В Викисловаре есть статья «время» Время одно из основных понятий физики и философии … Википедия
время — Операция устанавливает текущее время. [Е.С.Алексеев, А.А.Мячев. Англо русский толковый словарь по системотехнике ЭВМ. Москва 1993] Тематики информационные технологии в целом EN time … Справочник технического переводчика
Время в Новой Зеландии — UTC+12 на карте часовых поясов мира: голубым зона UTC+12 в океанах; ярко жёлтым зона UTC+12 круглогодично; оранжевым Маг … Википедия
текущее среднеквадратичное значение корректированного ускорения aw, — 3.1.5.3 текущее среднеквадратичное значение корректированного ускорения aw, q(t): Среднеквадратичное значение корректированного ускорения в момент времени t, определяемое формулой (3) где aw(x)… … Словарь-справочник терминов нормативно-технической документации
Время (физика) — Сейчас 9 июня 2009, 02:30 (UTC) Время одно из основных понятий физики и философии, одна из координат пространства времени, вдоль которой протянуты мировые линии физических тел, а также сознание. В диалектическом материализме время это… … Википедия
ВРЕМЯ — обозначает течение, длительность и последовательность событий. Оно есть условие существования конечных вещей и существ тварного мира. Согласно христ. учению, В. как творение Божие подчинено домостроительству спасения и своими границами имеет… … Православная энциклопедия
ВРЕМЯ СОЦИАЛЬНОЕ — одна из форм существования об ва, функционирование к рого протекает во времени, неотделимо от него. С одной стороны, В.с. является временным пространством человеческой деятельности, с др. ее мерой. В.с. характеризует также последовательность… … Российская социологическая энциклопедия
Время (UNIX) — Эта статья о формате кодирования времени; об утилите см.: time (Unix). UNIX время или POSIX время (англ. Unix time) способ кодирования времени, принятый в POSIX совместимых операционных системах. Моментом начала отсчёта считается полночь (по… … Википедия
Время (ЮНИКС) — Эта статья о формате кодирования времени; об утилите см.: time (Unix). UNIX время или POSIX время (англ. Unix time) способ кодирования времени, принятый в POSIX совместимых операционных системах. Моментом начала отсчёта считается полночь (по… … Википедия
Время (Юникс) — Эта статья о формате кодирования времени; об утилите см.: time (Unix). UNIX время или POSIX время (англ. Unix time) способ кодирования времени, принятый в POSIX совместимых операционных системах. Моментом начала отсчёта считается полночь (по… … Википедия
Точное время на вашем пк и смартфоне никогда не будет точным но как мы узнаём точное время
Компьютеры решают многие задачи с предельной точностью, но отсчет времени у них, как это ни удивительно, до сих пор вызывает сложности.
Вести отсчет точного времени с абсолютной точностью на обычном компьютере попросту невозможно, но для тех, кто готов платить, ее можно увеличить до определенной степени.
Чтобы приблизить точность отсчета времени к приемлемой, нужно решить слишком много задач, на конференции Applicative, проведенной Ассоциацией вычислительной техники (ACM). разрабатывается программное обеспечение, помогающее финансовым учреждениям и другим организациям узнавать сколько время точнее. Оно принимает участие в работе над стандартом IEEE Precision Time Protocol (PTP), который позволит синхронизировать время онлайн по сети с большей точностью, чем нынешний отраслевой стандарт Network Time Protocol (NTP).
Компьютерные часы могут сбиваться вследствие множества причин, в том числе из-за нестабильности пропускной способности сети, программного обеспечения и условий окружающей среды.
Для отсчета точное время в компьютерах обычно используется кварцевый резонатор, который генерирует электрические импульсы, синхронизирующие работу процессора, памяти, шин и других компонентов. Но производители компьютеров обычно применяют недорогие резонаторы, точность которых оставляет желать лучшего. Если вы покупаете стандартный сервер, вы, скорее всего, получите недорогой тактовый генератор, частота которого будет плавать под влиянием различных факторов.
По мере старения кристалла генерируемая им частота меняется. Может влиять и рабочая нагрузка на систему — из-за нагревания компонентов частота возрастает. По сути, кварцевые резонаторы не лучше механических часов: новенький iPhone показывает время сейчас не точнее, чем механические наручные часы многолетней давности.
Протестировав свой ноутбук с помощью дорогостоящих точных часов, можно выяснить, что время на компьютере за два часа сбивается на 15 миллисекунд. Это абсолютно типично для ПК.
Для многих конечных пользователей подобные расхождения несущественны, но некоторым автоматизированным системам все же нужно больше точности.
В частности, синхронизация требуется распределенным системам, выполняющим одну задачу с помощью множества серверов: при отладке подобных сред необходимо знать очередность событий, происходящих на различных узлах.
Точный отсчет времени нужен и роботизированным системам — для согласования действий движущихся частей. А энергетические компании с помощью точного времени контролируют частоту переменного тока, доставляемого абонентам: она должна составлять 60 Гц. Базовым станциям LTE необходима синхронизация действий с расхождением не больше 1100 наносекунд. Высочайшая точность измерения времени онлайн нужна при высокочастотных финансовых торгах, осуществляемых автоматизированными трейдерами, которым необходимо проводить операции за считанные миллисекунды.
Разумеется, большинство серверов могут синхронизировать часы по Интернету с каким-либо из официальных сервисов хронометража, например Национальным институтом стандартов и технологий (NIST). Но синхронизация по Интернету имеет свои недостатки. Пакет точного времени, транслируемый NIST, приходит на запрашивающий сервер с задержкой. Серверное ПО может оценить, сколько время занимает доставка сообщения, но время передачи варьируется в зависимости от загруженности сети.
По умолчанию NTP, используемый на большинстве серверов для синхронизации времени, опрашивает главные часы один раз в 64 секунды; этот параметр можно уменьшить только до 15 секунд — этим ограничиваются возможности протокола.
Кроме того, при использовании NTP бывает сложно обеспечивать точность времени в виртуализованных облачных средах, причем выяснить причину удается не всегда. Над задачей отсчета точного времени для виртуальных машин бьются все облачные провайдеры. В VMware пытаются решить проблему, но операторы облаков общего назначения, такие как Amazon, по-прежнему испытывают затруднения.
Даже при синхронизации с внешними главными часами работающие на компьютере программы будут вносить искажения. Операционная система обычно принимает сразу по несколько сетевых пакетов, поэтому информация о точном времени может поступать с задержкой. К тому же, драйверу, управляющему временем, может быть назначен более низкий приоритет, чем остальным задачам.
Стандарт PTP был разработан с целью повысить точность отсчета времени на серверах. Он используется в финансовой индустрии, в энергетике и телекоммуникациях.
Никаких «волшебных» средств, делающих PTP точнее NTP, нет — помимо того, что новый протокол просто чаще опрашивает главные часы. PTP может сверяться с источником точного времени ежесекундно, но подобную частоту обращений к серверу могут позволить себе только организации, имеющие резерв пропускной способности. Благодаря многоадресной рассылке при использовании PTP все серверы в сети получают один и тот же пакет синхронизации часов в одно и то же время.
Можно было бы создать и более точную систему что бы узнавать сколько сейчас времени, но, скорее всего, она вам обойдется на порядок дороже нынешних.
Где я проверяю точное время в интернете.
Я смотрю фраза «сколько время» у вас не вызывает никаких проблем
«механических часов: новенький iPhone показывает время сейчас не точнее, чем механические наручные часы многолетней давности.
Протестировав свой ноутбук с помощью дорогостоящих точных часов, можно выяснить, что время на компьютере за два часа сбивается на 15 миллисекунд. Это абсолютно типично для ПК.»
Koгдa ты кoтик и тeбe никyдa нe надo))
Vsauce: Иллюзии времени
Как наш мозг искажает восприятие времени и как технологии влияют на этот процесс.
Майкл рассмотрит несколько типов временных иллюзий, свойственных человеку, и их механизмы на примере истории и поп-культуры.
Ооба работали на департамент пропаганды: про Милна и Вудхауса
Автор Винни-пуха А.А. Милн и создатель Дживса П.Г. Вудхаус оба работали на департамент пропаганды. Вот только Милн – на британский, а Вудхаус – на немецкий. Первый – добровольно, второй – вынужденно.
Когда Париж пал, Вудхаус с женой оказались в лагере для интернированных иностранцев. И Геббельс не мог пройти мимо такого подарка. Вудхаусу предложили целый ряд послаблений в обмен на подкаст. В легкой и непринужденной эдвардианской манере тот вещал на Европу и США, рассказывая о сытой и беспечной жизни узников нацизма.
Услышав это, Милн пришел в ярость. Когда-то они играли в одной команде по крикету и Милн (уже состоявшийся драматург) даже спонсировал одну из первых театральных постановок по пьесе Вудхауса. Но десять лет спустя Милн поднял все свои армейские и гражданские контакты, чтобы начать активную травлю Вудхауса на родине. Весьма успешно.
Ярлык «коллаборациониста», впрочем, к Вудхаусу приклеился непрочно. После войны его быстро простили – все же один из любимых писателей короля. А слава Милна клонилась к закату. Публика не воспринимала его иначе как автора Винни-пуха и желчных рецензий в «Панче». Тогда и пришло время мести.
Милн ставил новую пьесу. Вудхаус писал: «Отличное произведение! Жаль, что публика считает иначе».
Милн публиковал сборник стихов, посвященных Кристоферу Робину. Вудхаус комментировал: «Раньше он сыну портил жизнь только в прозе. Теперь добьет парня в стихах».
Милн перестал писать и заперся дома. Вудхаус огорчался: «Какого титана мы потеряли! Писать лучше него могли многие, но никто не умел завидовать так, как он.»
На похоронах автора Винни-пуха его сын – Кристофер Робин – чуть ли не плюнул на могилу отца. (За что получил публичную пощечину от матери, с которой после этого никогда не общался.)
После смерти Вудхауса разведка рассекретила его досье, в котором говорилось о крайне правых взглядах писателя и обосновывалась версия Милна: за свое «вынужденное» сотрудничество с Рейхом создатель Дживса получал неплохое жалование.
Виртуальное время. Часть 1: источники времени в компьютере
Человек, имеющий одни часы, твердо знает, который час. Человек, имеющий несколько часов, ни в чём не уверен.
Закон Сегала

Требования на источники времени
Конечно же, достаточный набор свойств источника зависит от способа использования в программах. Например, одно устройство может предоставлять низкое разрешение и высокую длительность считывания, но при этом быть энергонезависимым и очень стабильным, а другое позволять измерять очень короткие промежутки времени, но при этом быстро переполняться, да ещё и не быть синхронизированным ни с чем больше.
Обзор таймеров в архитектуре PC
Источников времени в системе может быть несколько. Прикладные программы редко обращаются к каким-либо из них напрямую. Вместо этого используются всевозможные API, предлагаемые использованным языком программирования (например, C++11 < chrono >), средой исполнения (например, gettimeofday из POSIX или QueryPerformanceCounter на MS Windows), или даже системными вызовами используемой операционной системы.
Самой ОС также необходимо знать время и уметь отмерять его отрезки для планирования работы пользовательских потоков, учёта потреблённых ими ресурсов, профилировки производительности, управления энергопотреблением и т.п. При этом сама ОС работает напрямую с интерфейсами, предоставляемыми аппаратурой. Так как таймеров присутствует много, современные ОС умеют выбирать один «центрально» используемый в начале загрузки, исходя из своих представлений о «качестве» обнаруженных устройств (например, на некоторых системах часть таймеров может быть занесена в «чёрный список» из-за известных проблем в работе) или же настроек пользователя (параметр clocksource у ядра Linux и опции useplatformclock, tscsyncpolicy, disabledynamictick у BCDEDIT в Windows).
Опишу наиболее часто встречаемые устройства, являющиеся часами и таймерами в PC.
Общераспространённые
Часы реального времени (Real Time Clock, RTC) — источник текущей даты и времени для нужд ОС. Типичное разрешение этого таймера — одна секунда. Все системы, удовлетворяющие стандарту ACPI, имеют чип RTC, совместимый с Motorola MC146818, присутствовавшем в оригинальном IBM PC/AT с 1984 года. В современных системах RTC обычно интегрирован в набор системной логики южного моста на материнской плате (что означает довольно большую задержку при чтении). Энергонезависимость этого таймера обеспечивается специальной батарейкой. Принципы программирования RTC вызывают ностальгию по BCD-числам и проблеме Y2K.
Programmable Interval Timer (PIT) 8253 или 8254 от Intel — стандартный счётчик и таймер, имеющийся в PC с самого начала существования этой платформы (1981 год). Как и RTC, изначально был отдельной микросхемой, а ныне является частью системной логики. Довольно интересное устройство, содержащее три таймера (хотя последние два всегда были зарезервированы под задачи обновления ОЗУ и работу PC-спикера соответственно) и позволяющее запрограммировать их в различные режимы: периодические прерывания, однократное (one-shot) прерывание по таймауту, меандр и т.д.
Первый канал PIT до сих пор может использоваться ОС как источник прерываний для работы вытесняющего планировщика задач. Однако по современным меркам он не очень удобен в работе: низкая частота осциллятора 1193181,8 Гц (странное значение — это историческое наследие от частоты развёртки NTSC), ширина счётчика всего 16 бит (частое переполнение) при ширине регистров статуса и команд всего в восемь бит (т.е. приходится передавать или читать значение по частям), да и доступ к регистрам через медленный и негибкий механизм PIO (команды IN/OUT процессора).
Local APIC (advanced programmable interrupt controller), встроенный во все современные процессоры Intel (начиная с архитектуры P54C) и который в своём составе имеет ещё и таймер. Более того, каждый логический процессор имеет свой собственный LAPIC, что может быть удобно для выполнения работы, локальной для текущего ядра, без необходимости управления ресурсами. Однако, данное устройство не имеет фиксированной известной частоты; последняя скорее привязана к частоте ядра. Поэтому перед использованием программе необходимо её вычислить (калибровать), а для этого нужно дополнительное референсное устройство. Режимы, поддерживаемые LAPIC: однократное прерывание, периодические прерывание, и период, определяемый TSC.
Таймер в составе ACPI, почему-то называемый Performance Monitoring Timer (PMTIMER) — ещё одно устройство, которое поддерживается всеми системами, реализующими стандарт ACPI, с 1996 года. Данный таймер имеет частоту 3.579545 МГц, ширина регистра-счётчика может быть 24 или 32 бита. Сам таймер всегда активен при включенном питании системы и не зависит от режима работы центрального процессора.
High Precision Event Timer (HPET) — устройство, созданное как замена устаревшему PIT. Согласно стандарту, HPET должен содержать осциллятор, работающий с фиксированной частотой по крайней мере в 10 МГц, величину которой можно программно прочитать из его статусного регистра, и монотонно увеличивающий значение счётчик шириной в 64 бита. Также он должен содержать минимум три компаратора шириной в 32 или 64 бита, которые и используются для генерации прерываний по истечении запрограммированных периодов времени. Как и PIT, он способен работать в периодическом режиме или в режиме однократного прерывания. При этом метод его программирования (MMIO вместо PIO) удобнее и быстрее, чем у PIT, что вместе с повышенным разрешением, позволяет задавать интервалы более точно и с меньшей задержкой. Требуемая стабильность генератора равна 0,05% для интервалов длиннее 1 мс и 0,2% для промежутков короче 100 мкс; много это или мало — зависит от приложений.
Несмотря на то, что HPET уже давно присутствует в PC (с 2005 года), операционные системы не торопятся начать его использовать. Частично это вызвано не самым удобным способом задания интервалов с помощью возрастающего счётчика вместо убывающего — из-за немгновенности операций существует риск «не успеть» и задать событие в прошлом. Зачастую ОС используют таймер из APIC или PMTIMER, или же функциональность TSC, использующую такты процессора в качестве источника времени.
Трудная судьба инструкции RDTSC
История TSC достаточно интересна и поучительна, чтобы остановиться на ней подольше.
Сама идея очень прозрачная — использовать в качестве источника времени сам процессор, а точнее его тактовый генератор. Текущий номер такта сохраняется в регистре TSC (timestamp counter).
С помощью TSC можно как узнавать время от начала работы, так и замерять интервалы времени с помощью двух чтений. TSC также работает как будильник в связке с APIC в режиме TSC deadline.
Что ж, TSC — вполне естественная штука с простой логикой и простым сценарием использования, которая должна обладать многими полезными свойствами: высокое разрешение (один такт ЦПУ), низкая задержка при чтении (десятки тактов), редкие переполнения (64-битного счётчика должно хватать минимум на 10 лет), монотонность чтений (ведь счётчик всегда увеличивает своё значение), равномерность (процессор всегда работает), согласованность с другими таймерами (при старте системы можно выставить нужное значение записью в MSR).
Разве что-то могло пойти не так? На пути к успешному использованию TSC в качестве основного средства измерения времени в PC встала последующая эволюция процессоров. Новые возможности, появившиеся в процессорах после Pentium, «испортили» RDTSC и много лет мешали использовать её как основной таймер в популярных ОС. Так, в 2006 году один из Linux-разработчиков Ingo Molnar писал:
Мы наблюдали, что в течение 10 лет ни одной реализации gettimeofday, основанной на TSC и работающей в общем случае, не было написано (а я написал первую версию для Pentium, так что и я в этом повинен), и что лучше мы обойдёмся без неё.
We just observed that in the past 10 years no generally working TSC-based gettimeofday was written (and i wrote the first version of it for the Pentium, so the blame is on me too), and that we might be better off without it.
Отмечу, что со временем в архитектуру IA-32 вносились коррективы, устранявшие проявившиеся недостатки, и в настоящий момент TSC может (пока опять не сломали) быть использован в том качестве, в котором он задумывался.
Прочие устройства
Выше я описал наиболее часто распространённые и используемые устройства по определению времени. Конечно же, конкретные системы могут иметь дополнительные устройства, уникальные для процессора, интегрированной логики или даже в форме специализированных периферийных устройств (например, сверхточные атомные часы). Степень их доступности из программ зависит от того, существует ли драйвер для конкретного устройства в выбранной ОС. Так, пробежавшись по исходникам Linux, я нашёл как минимум ещё два поддерживаемых источника времени для сборок x86: устройство NatSemi SCx200 в системах AMD Geode, и Cyclone для систем IBM x440. К сожалению, в Интернете не очень много документации по ним.
Заключение
Я надеюсь, что из этой заметки стало понятно, что работа со временем внутри компьютера на системном уровне на самом деле далека от тривиальной. Требования к устройствам, поставляющим время, зависят от решаемой задачи, и не всегда легко найти полностью подходящий вариант. При этом сами устройства зачастую содержат «архитектурные особенности», способные сломать голову несчастному программисту.
Однако это всё архитектурная присказка к симуляционной сказке. На самом деле мне хотелось рассказать о том, как можно моделировать весь этот зоопарк устройств. В следующей статье я опишу, как проявляется капризная природа времени при создании виртуальных окружений — симуляторов и мониторов виртуальных машин. Спасибо за внимание!
Правильная работа с датой и временем
Практически все проекты сталкиваются с проблемами, вызванными неправильной обработкой и хранением даты и времени. Даже если проект используется в одном часовом поясе, все равно после перехода на зимнее/летнее время можно получить неприятные неожиданности. При этом мало кто озадачивается реализацией правильного механизма со старта, потому что кажется, что с этим проблем быть не может, так как все тривиально. К сожалению, в последствии реальность показывает, что это не так.
Логически можно выделить следующие типы значений, относящиеся к дате и времени:
Дата и время
Допустим, лаборатория, которая собрала материал для анализа находится в часовом поясе +2, а центральный филиал, в котором следят за своевременным выполнением анализов — в поясе +1. Время, приведенное в примере, было отмечено при сборе материала первой лабораторией. Возникает вопрос — какую цифру времени должен увидеть центральный офис? Очевидно, что программное обеспечение центрального офиса должно показывать 15 января 2014 года 12:17:15 — на час меньше, так как по их часам событие произошло именно в этот момент.
Рассмотрим одну из возможных цепочек действий, через которую проходят данные с клиента на сервер и обратно, позволяющую всегда корректно отображать дату/время согласно текущему часовому поясу клиента:
Правила перевода на летнее/зимнее время — вещь, строго говоря, переменная. Разные страны могут иногда менять свои правила, и эти изменения должны быть заблаговременно заложены в обновления системы. На практике неоднократно встречались ситуации некорректной работы этого механизма, которые по итогу решались установкой хотфиксов либо операционной системы, либо используемых сторонних библиотек. Вероятность повторения тех же проблем — не нулевая, поэтому лучше иметь способ гарантированно их избежать.
Учитывая описанные выше соображения, сформулируем как можно более надежный и простой подход к передаче и хранению времени: на сервере и в базе данных все значения должны быть приведены к часовому поясу UTC.
Рассмотрим, что нам дает такое правило:
Как видно из вышесказанного, не существует единого подхода, покрывающего 100% случаев. Поэтому сперва нужно четко понять из требований, какие из упомянутых выше ситуаций будут в вашей системе. С большой вероятностью, все ограничится первым предложенным подходом с хранением в UTC. Ну а описанные исключительные ситуации его не отменяют, а просто добавляют другие решения для частных случаев.
Дата без времени
Допустим, с правильным отображением даты и времени с учетом часового пояса клиента разобрались. Перейдем к датам без времени и примеру, указанному для этого случая в начале — «новый контракт вступает в силу 2 февраля 2016 года». Что будет, если для таких значений использовать те же типы и тот же механизм, что и для «обычных» даты с временем?
Есть несколько способов избежать преобразование для дат:
Временной интервал
С хранением и обработкой временных интервалов все просто: их величина не зависит от часового пояса, поэтому никаких особых рекомендаций здесь нет. Их можно хранить и передавать как количество единиц времени (целое или с плавающей точкой, в зависимости от необходимой точности). Если важна секундная точность — то как количество секунд, если миллисекундная — то как количество миллисекунд и т.д.
А вот вычисление интервала может иметь подводные камни. Предположим, у нас есть типовой код на C#, который считает интервал времени между двумя событиями:
На первый взгляд, никаких проблем здесь нет, но это не так. Во-первых, могут возникнуть проблемы с юнит-тестированием такого кода, но об этом мы поговорим чуть позже. Во-вторых, давайте представим, что начальный момент времени пришелся на зимнее время, а конечный — на летнее (например, таким образом замеряется количество рабочих часов, а у работников есть ночная смена).
Предположим, код работает в часовом поясе, в котором переход на летнее время в 2016 году происходит в ночь 27 марта, и смоделируем описанную выше ситуацию:
Этот код даст в результате 9 часов, хотя фактически между этими моментами прошло 8 часов. В этом легко убедиться, изменив код вот таким образом:
Отсюда вывод — любые арифметические операции с датой и временем нужно делать, используя либо UTC значения, либо типы, хранящие информацию о часовом поясе. А потом обратно переводить в локальные в случае надобности. С этой точки зрения, изначальный пример легко исправить, поменяв DateTime.Now на DateTime.UtcNow.
Этот нюанс не зависит от конкретной платформы или языка. Вот аналогичный код на Java, имеющий тот же недостаток:
Исправляется он также легко — например, использованием ZonedDateTime вместо LocalDateTime.
Расписание запланированных событий
Расписание запланированных событий – более сложная ситуация. Универсального типа, позволяющего хранить расписания, в стандартных библиотеках нет. Но такая задача возникает не так уж редко, поэтому готовые решения можно найти без проблем. Хорошим примером является формат планировщика cron, который в том или ином виде используется другими решениями, например, Quartz: http://quartz-scheduler.org/api/2.2.0/org/quartz/CronExpression.html. Он покрывает практически все нужды составления расписаний, включая варианты типа «вторая пятница месяца».
В большинстве случаев писать свой планировщик не имеет смысла, так как существуют гибкие проверенные временем решения, но если по какой-то причине есть надобность в создании своего механизма, то как минимум формат расписания можно позаимствовать у cron.
Общие рекомендации
Помимо описанных выше рекомендаций, посвященных хранению и обработке разнотипных значений времени, есть еще несколько других, о которых тоже хотелось бы сказать.
Во-первых, по поводу использования статических членов класса для получения текущего времени — DateTime.UtcNow, ZonedDateTime.now() и т.д. Как и было сказано, использование их напрямую в коде может серьезно усложнить юнит-тестирование, так как без специальных мок фреймворков подменить текущее время не получится. Поэтому, если вы планируете писать юнит тесты, следует позаботиться о том, чтобы реализацию таких методов можно было подменить. Для решения этой задачи есть как минимум два способа:
Второй нюанс с получением текущего времени — это то, что клиенту доверять нельзя. Текущее время на компьютерах пользователей может очень сильно отличаться от реального, и если есть логика, завязанная на него, то эта разница может все испортить. Все места, где есть необходимость получать текущее время, должны по возможности выполняться на стороне сервера. И, как уже было сказано ранее, все арифметические операции с временем должны производиться либо в UTC значениях, либо с использованием типов, хранящих смещение часового пояса.
И еще одна вещь, которую хотелось упомянуть — это стандарт ISO 8601, описывающий формат даты и времени для обмена информацией. В частности, строковое представление даты и времени, используемое при сериализации, должно соответствовать этому стандарту для предотвращения потенциальных проблем с совместимостью. На практике крайне редко приходится самому реализовывать форматирование, поэтому сам стандарт может быть полезен в основном в ознакомительных целях.









