2011-04-19 5 views
0

Je souhaite ajouter une colonne nommée column_ourcountry_time qui affichera l'horodatage du moment où chaque ligne est créée DATE_ADD INTERVAL 10 HEURES à l'heure actuelle du serveur dans chaque ligne. Quand j'utilise le TIMESTAMP, il enregistre le temps actuel du serveur, c'est correct, mais je veux stocker l'horodateur de notre pays, c'est +10 heures au serveur time.anyone m'aider à passer à travers.
Merci à l'avance
Respectueusement
Aiman ​​souhaitez ajouter un champ à un horodatage avec DATE_ADD

+0

changement votre fuseau horaire par défaut dans le fichier php 'http://us.php.net/manual/fr/function.date-default-timezone-set.php' – diEcho

Répondre

0

Voulez-vous dire quelque chose comme

select addtime(now(), '10:00:00'); 

parce que cela ajoute du temps et garde les jours comme ils sont (24 heures), etc.

Si la '10: 00: 00 'partie est une variable' 10 'dans une autre colonne timezone_offset, je pense que vous pouvez utiliser ceci:

select addtime(now(), concat(timezone_offset, ':00:00')) from table; 

- modifier 1

Selon timezone_offset et le fuseau horaire de votre serveur MySQL, vous pourriez avoir à modifier timezone_offset avant d'utiliser AddTime:

Si MySQL fonctionne UTC +1 et vous sauver timezone_offset compared to UTC, vous devez modifier tous timezone_offset -1, car now() n'est pas le fuseau horaire UTC.

- modifier 2

je trouve une meilleure pratique pour stocker tous les temps en UTC parce que c'est le plus facile à calculer, à partir et à. Si vous faites quelque chose avec des fuseaux horaires et des offsets: faites tout UTC. (Assurez-vous que votre serveur MySQL a UTC comme fuseau horaire ainsi.)

+0

Je veux créer/ajouter une colonne qui sera automatiquement mise à jour lorsque la ligne sera mise à jour ou inséré.la ligne devrait montrer l'heure où la ligne a été insérée ou mise à jour. Je veux juste voir 10 heures ajoutées à l'horodatage actuel, merci pour la coopération .. :) – aiman

0

Essayez

SELECT NOW() + INTERVAL 10 HOUR 
Questions connexes