|
Тема
|
MySQL -> UNIX_TIMESTAMP дава различни стойности!
|
|
Автор |
Dakota (гол на деня) |
Публикувано | 10.11.02 20:22 |
|
На две различни машини, едната win, другата Solaris следното query връща различни резултати:
select unix_timestamp('2002-05-10 11:31:00')
На първата: 1021023060
На втората: 1021044660
Разликата е точно 6 часа!
Е кажете ми, как е възможно секундите от 1 Януари 1970 да са различни...все си мислех, че времето тече по един и същи начин навсякъде.
Иначе съм фен на Айнщайн, но все пак?!
P.S.: Оказа се, че проблемът не е mysql-ски, защото php-то връща същата грешна стойност. Очевидно проблемът е system related.
Но фактът си остава факт.
Разликата между UNIX_TIMESTAMP(start_datetime) на едното място и UNIX_TIMESTAMP(start_datetime) на другото е различна от разликата между UNIX_TIMESTAMP(end_datetime) и UNIX_TIMESTAMP(end_datetime).
Конкретната дата е: 2002-06-10 09:40:00.
Тук изобщи Daylight Savings Time не играе.
P.S.S.: И все пак излъгах. И то два пъти. UNIX_TIMESTAMP връща различни неща на двете машини за една и съща дата, а на всичкото отгоре MySQL и PHP имат различно мнение по въпроса дали машината има DST (Daylight Savings Time) и от там получавам и тези фрапиращи резултати.
"Да живееш - значи да се променяш." - Анатол ФрансРедактирано от Dakota на 10.11.02 23:30.
| |
Тема
|
Re: MySQL -> UNIX_TIMESTAMP дава различни стойност
[re: Dakota]
|
|
Автор |
salle (Един такъв) |
Публикувано | 11.11.02 09:50 |
|
Елементарно Уотсън.
Дефиницията на Unix timestamp е брой секунди от 1970-01-01 00:00:00 GMT
Затова в България Нулата се пада на 1970-01-01 02:00:00
Та на двете ит машини часовниците им живеят в различни часови зони с разлика 6 часа
| |
Тема
|
Re: MySQL -> UNIX_TIMESTAMP дава различни стойност
[re: salle]
|
|
Автор |
Dakota (гол на деня) |
Публикувано | 11.11.02 11:51 |
|
Мда...това с GMT-то не мислех, че е така, но фрапирането дойде от там, че правя сметки със стойности веднъж взети от mysql посредством UNIX_TIMESTAMP, втори път от php с mktime() и връщаха различни стойности...оттам дойде мазалото.
"Да живееш - значи да се променяш." - Анатол Франс
| |
|
|
|
|