merci pour la lecture.Date de conversion au fuseau horaire de l'utilisateur dans Joomla
Juste besoin de savoir comment je convertis datetime obtenu à partir de mes tables sql dans gmtime à datetime dans le fuseau horaire de l'utilisateur.
ce qui suit est mon code, mais ne semble pas fonctionner ..
//WHERE $post_arr[5] is date from sql
$user_date=convert_date_for_user($post_arr[5]);
function convert_date_for_user($date_time){
$user = JFactory::getUser();
$db = JFactory::getDBO();
$timezone=$user->getParam('timezone');
echo $tz_offset;
$user_date = JFactory::getDate($date_time,$timezone);
$user_date_str = $user_date->toUnix(true);
return $user_date_str;
}
Il convertit, mais je deviens tout le temps mal du code ci-dessus.
Êtes-vous absolument sûr que les heures stockées dans la base de données sont gmtime? Avez-vous vérifié quelques valeurs? Les fuseaux horaires sont très délicats. Joomla pourrait utiliser l'heure de votre serveur, qui n'est probablement pas GMT. –
Oui. J'ai vérifié. Les timings affichés sont -6 GMT au lieu de mes paramètres de fuseau horaire de l'utilisateur qui devrait être de +8 pour singapour. Dans ma base de données, j'ai entré le format de synchronisation en tant que gmtime ("Y-m-d H: i: s") – Lawrence