Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #21 (permalink)  
Старый 31.08.2016, 03:17
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от Shitbox2
Она работает только со строками
А что кроме метки времени или его отдельно взятого компоненте есть не строка в его представлении?

Сообщение от Shitbox2
не уверен, что эта библиотека будет нормально все ситуации обрабатывать
Не могу утверждать об аналоге, хотя можно и проверить, но оригинальная strtotime обрабатывает английскую нотацию выражений о времени и ей по плечу куда более прозаическое, чем "UTC или не UTC?". )
Ответить с цитированием
  #22 (permalink)  
Старый 31.08.2016, 11:14
Профессор
Отправить личное сообщение для Shitbox2 Посмотреть профиль Найти все сообщения от Shitbox2
 
Регистрация: 04.10.2010
Сообщений: 571

Цитата:
А что кроме метки времени или его отдельно взятого компоненте есть не строка в его представлении?
Не понял вопрос
Цитата:
оригинальная strtotime обрабатывает английскую нотацию выражений о времени и ей по плечу куда более прозаическое, чем "UTC или не UTC?"
Вот это как раз, вообще, пофигу) Если пользователь юзает какую-то свою нотацию времени из каких-то непонятных стандартов, пусть сам с этим и мучается. А вот UTC, не UTC это реальная проблема JS. К сожалению, до конца ее не решить, т.к. реализация отличается в ES5, ES6, в браузерах и даже на разных машинах может по-разному работать
Ответить с цитированием
  #23 (permalink)  
Старый 31.08.2016, 12:47
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от Rise
timestamp который всегда UTC
С чего это вдруг?
Ответить с цитированием
  #24 (permalink)  
Старый 31.08.2016, 13:05
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от Shitbox2
Не понял вопрос
Что не понятного, представление времени это всегда строка, за исключением штампа времени и конкретно взятого его компонента, например год. А strtotime и работает со строковым представлением, возвращая штамп времени.

Сообщение от Shitbox2
Если пользователь юзает какую-то свою нотацию времени из каких-то непонятных стандартов
Ну это как сказать, по крайней мере проще написать:

$day = date('d', strtotime('first day next week'));


чем разводить бухгалтерию вычислений.
Ответить с цитированием
  #25 (permalink)  
Старый 31.08.2016, 14:10
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от Rise
а как иначе
Вы спутали системные часы и смещения часовых поясов. Системные часы и работают относительно Гринвича, достаточно указать другой часовой пояс системным часам и время изменится. Но время клиента, это локальное время. Например, если клиент получит время московского клиента как дата/время и дата/время/UTC, то на клиенте из этих дат будет возвращены метки времени - первая как локальное время клиента, а вторая с указанным смещением, и эти метки времени будут различны.
Ответить с цитированием
  #26 (permalink)  
Старый 31.08.2016, 15:53
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от Rise
суть была в том что дата/время должно храниться/передаваться в виде timestamp
Не обязательно timestamp, главное чтобы представление было одно, но как уже отвечал автор на подобное предложение - источник данных не подконтролен ему.

А работа со временем не есть извращение, и подчас с этим временем приходится решать не хилые по своей крутизне задачи. )
Ответить с цитированием
  #27 (permalink)  
Старый 06.09.2016, 12:46
Профессор
Отправить личное сообщение для Shitbox2 Посмотреть профиль Найти все сообщения от Shitbox2
 
Регистрация: 04.10.2010
Сообщений: 571

Выпустил модуль normalize-date. Приводит любую дату к нативной JS UTC (или эквивалентной UTC) дате.

Надеюсь, это избавит от проблем сравнения дат в 90% случаев
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Управление скроллом "а-ля тач" HonesT Элементы интерфейса 2 27.08.2013 14:25
Как узнать по какой ссылке кликнули? Rooner jQuery 3 19.12.2012 17:14
Как можно что-нибудь узнать про интерфейс чужого объекта GRIG Internet Explorer 0 09.03.2011 17:16
как узнать, есть ли в строке определенное слово? FRIE Общие вопросы Javascript 2 23.09.2010 16:19
Как узнать о том, что флэш уже загрузился. Snipe Общие вопросы Javascript 4 29.01.2009 11:21