2010-12-07 23 views
0

J'ai une entrée de texte qui get jour & temps dans ce format:php - chaîne analyse syntaxique à ce jour, ce qui timezones sont correctes

09/06/2010 21:08 (ce qui signifie Septembre)

J'utilise date_parse_from_format('m/d/Y H:i', $stringtoparse); (quelqu'un me dit si je suis incorrect ici)

Cette fonction retourne un tableau associatif avec des index comme "année" ou "jour" ou "heure".

Le texte d'origine envoyé doit être traité comme s'il se trouvait dans un certain fuseau horaire. Ce sera toujours le cas, mais j'ai juste des problèmes pour savoir comment ajuster le fuseau horaire de toute façon. Fondamentalement, à la fin, il y aura deux dates-dates dans la base de données (une heure de début et une heure de fin). J'ai besoin de savoir si l'heure actuelle est entre ces deux temps. Je sais qu'une fois que j'ai un horodatage final, je peux simplement utiliser:

$startdate < now() < $enddate ou quelque chose comme ça (bien sûr, maintenant doit être dans le format de "EST", mais je dois être sûr que les fuseaux horaires sont corrects en premier. Je le fais?

Répondre

1

Vous devez conserver toutes les dates dans le fuseau horaire unique, nous avons choisi UTC pour le stockage DB et convertissons à fuseau horaire de l'utilisateur sur le rendu.

Vous n'êtes pas incorrect, mais je recommande d'utiliser DateTime::createFromFormat à la place.