|
|
|||||
Вы библиотеку-то попробовали?
Про стандарт почитали? http://ru.wikipedia.org/wiki/ISO_8601 http://en.wikipedia.org/wiki/ISO_8601
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку. |
|
|||||
Цитата:
В общем случае схема такая: Ваш формат->UTC(_не_ зависит от таймзоны и всяких переводов - для всего земного шарика одинаковое)->класс Data(сам определяет и пересчитывает для тайм-зоны пользователя) P.S. Я так и не понял из википедии, зависит ли CET от летнего и зимнего времени, но если не зависит, можно перевести СЕТ в UTC сдедующим методом: // Если сервер не хочет отдавать таймштамп, то парсим по отдельным частям, получаем cetFullYear, cetMonth и т.д. var temp:Date = new Date(); // Врём, что наш CET - это UTC temp.setUTCFullYear(cetYear); temp.setUTCMonth(cetMonth);// 0 - январь! 1 - февраль (может надо 1 прибавить) temp.setUTCDate(cetDate);// Число месяца temp.setUTCHours(cetHours); temp.setUTCMinues(cetMinues); temp.setUTCSeconds(cetSeconds); var timestamp:Number = temp.time + 2 * 60 * 60 * 1000;// +2h, Number не потому что дробное, а потому что в int такие большие числа не помещаются // теперь этот timestamp отражает UTC время var date:Date = new Date(); date.setTime(timestamp); // Дальше работаем с date - будет отдавать в часовом поясе, который настроен на операционной системе trace(date.getFullYear() + "/" + (date.getMonth() + 1) + "/" + date.getDate); Последний раз редактировалось expl; 17.02.2012 в 21:27. |
|
|||||
Modus ponens
|
Если это ваш сервер, то зачем вы дату передаете строкой? Вам недостаточно головной боли? Передавайте в секундах с начала Юникс эпохи, и по объему меньше, и стандарт, как ни как, и разночтений никаких не будет, то ли месяц то ли день и т.п.
ЗЫ, expl, ваши финты ушами с передвижением даты на час назад / вперед не имеют права на жизнь т.как они не учитывают DST (daylight saving time), если вам нужно передвинуть дату на час вперед, используйте соответсвующие методы (setHour / getHour). ЗЗЫ: UTC время в секундах, а не в миллисекундах И влезает в uint.
__________________
Hell is the possibility of sanity Последний раз редактировалось wvxvw; 18.02.2012 в 02:25. |
|
|||||
Цитата:
А по поводу ну UTC - не знаю что там в секундах, но Date::setTime то в миллисекундах time принимает. |
|
|||||
Modus ponens
|
Я наверное не совсем понял, что именно код делает, я хотел сказать, что этот код не всегда будет переводть на час вперед, а, в зависиомости от страны и дня может перевести от часа назад, до трех часов вперед (в Бразилии, например).
__________________
Hell is the possibility of sanity |
|
|||||
я там просто к CET прибавил 2 часа и окрестил UTС-ом. Хотя, наверно, надо было отнять и узнать переводят ли вообще этот CET (средеевропейское время) на летнее время. Так то он один для всех вне зависимости от пояса. Но в любом случае не важно - не тестировал потому что.
|
|
|||||
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку. |
Часовой пояс GMT +4, время: 15:14. |
|
« Предыдущая тема | Следующая тема » |
Опции темы | |
Опции просмотра | |
|
|