2009-03-31 6 views
1

Cela peut être une demande trop importante, mais avant de l'externaliser, je voudrais essayer de le comprendre d'abord, et le faire pour moi-même.Fuseau horaire Fonctions Aide

Je travaille sur un projet qui implique une base de données existante. Je construis le site autour des données existantes, mais j'ai eu des problèmes avec les horodatages. En fait, j'espère que quelqu'un peut me donner un exemple d'extrait de ce que je besoin (fonction ou classe) pour y parvenir:

  1. Chaque utilisateur dans la base de données a des tables de données qui inclut le contenu comme les blogs, les articles, et d'autres entrées contenant des horodatages pour les dates. Chaque utilisateur dispose également d'un code de fuseau horaire (c'est-à-dire 10+, 12-, 1+, etc.) qu'il a sélectionnés manuellement lors de l'inscription, afin de rendre les horodatages applicables à leur fuseau horaire.
  2. J'ai besoin de créer une fonction (ou une classe) qui me permet de collecter le fuseau horaire des utilisateurs, et de convertir les horodatages à appliquer au code de fuseau horaire des utilisateurs.

Exemple:

$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); 

Résultat:

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

Est-ce que ce sens? J'espère que mes exemples n'ont pas fait les choses les pires, mais je trouve plus facile d'expliquer ce que je pense dans les petits extraits de code qu'avec les mots ... lol. Toute aide sera grandement appréciée.

Bravo, et merci.

Répondre

1

L'utilisation d'un code de fuseau horaire n'est pas une bonne idée. Différents fuseaux horaires modifient l'heure d'été à différentes dates. Idéalement (OMI), vous devriez utiliser Olsen codes tel que "Europe/London" si les plateformes que vous utilisez peuvent y faire face. Ceux-ci devraient vous permettre de prédire quand un instant particulier se produit pour le fuseau horaire de l'utilisateur.

Je suis désolé que cela n'aide pas réellement avec la fonction que vous avez besoin d'écrire, mais cela devrait vous aider à éviter d'aller dans la mauvaise direction.

(je parle d'expérience amère - fuseaux horaires sont une douleur dans le cou.)

+0

Salut, Merci pour votre réponse. Je suis d'accord avec vous complètement (mais avec une grande frustration..lol). Je suppose que ma seule option est de mettre à jour la base de données avec des codes olsen à la place des codes de fuseau horaire. De cette façon, je serai en mesure d'écrire la fonction moi-même .. Merci pour le conseil .. cela m'a conduit noix .. lol – Lea

+0

Je suis heureux que cela a aidé, même sans aucune idée sur PHP ou MySQL. Je ne m'attendais pas à ce que ce soit plus qu'un simple indice, mais si cela s'avère utile, c'est super :) Maintenant, je dois revenir à mes propres problèmes de fuseau horaire :( –

Questions connexes