2009-03-31 7 views
1

Это может быть слишком большим спросом, но прежде чем я его передам на аутсорсинг, я хотел бы сначала попытаться понять это и сделать это для себя.Функции часового пояса Помощь

Я работаю над проектом, который включает в себя существующую базу данных. Я создаю сайт вокруг существующих данных, но столкнулся с проблемами с отметками времени. В принципе, я надеюсь, кто-то может дать мне пример сниппета, что мне нужно будет (функция или класс) для достижения этой цели:

  1. Каждый пользователь в базе данных есть таблицы данных, которая включает в себя содержание, как блоги, статьи, и другие входные данные, содержащие временные метки для дат.
  2. Каждый пользователь также имеет код часового пояса (например, 10+, 12-, 1+ и т. Д. И т. Д.), Который они вручную выбирают при регистрации, чтобы сделать временные метки применимыми к их часовому поясу.
  3. Мне нужно создать функцию (или класс), которая позволяет мне собирать часовой пояс пользователей и конвертировать любые временные метки, которые будут применяться к коду часового пояса пользователей.

Пример:

$timestamp = $rows[blogentry_date]; //Just an example of a query result 
$users_timeszone_code = TheFunctionI_NeedHelpCreating() // Hopefully collects users 
// timezone code, and converts it to a supported 
// timezone using date_default_timezone_set()??(just a guess) 
CreateDate($users_timeszone_code, $timestamp); 

Результат:

12, Monday 2007. 5:00am // Just as an example 

ли это смысл? Надеюсь, мои примеры не привели к худшему, но мне легче объяснить, что они думают в небольших фрагментах кода, чем со словами .... Любая помощь будет принята с благодарностью.

Приветствия, и спасибо.

ответ

1

Использование кода часового пояса - не очень хорошая идея. Различные часовые пояса меняют время перехода на летнее время в разные даты. В идеале (IMO) вы должны использовать Olsen codes, например, «Европа/Лондон», если соответствующие платформы, с которыми вы работаете, могут справиться с ними. Это должно позволить вам предсказать, когда произойдет какой-либо конкретный момент времени для часового пояса пользователя.

Прошу прощения, что это не помогает с функцией, которую вам нужно написать, но это должно помочь вам избежать неправильного направления.

(я говорю из горького опыта - часовые пояса являются боли в области шеи.)

+0

Привет, Спасибо за ваш ответ. Я полностью согласен с вами (но с большим разочарованием ...). Я предполагаю, что мой единственный вариант - обновить базу данных с помощью кодов olsen вместо кодов часовых поясов. Таким образом, я смогу написать функцию самостоятельно. Спасибо за подсказку. Это привело меня в орехи. Lol – Lea

+0

Я рад, что это помогло, даже без всякой идеи о PHP или MySql. Я не ожидал, что это будет больше, чем просто намек, но если это окажется полезным, это здорово :) Теперь мне нужно вернуться к своим собственным часовым поясам :( –