Précédent   Forum des professionnels en informatique > Bases de données > MySQL > Débuter
Débuter Forum d'entraide pour débuter avec MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 08/09/2008, 17h27   #1
Membre habitué
 
Inscription : février 2004
Messages : 260
Détails du profil
Informations forums :
Inscription : février 2004
Messages : 260
Points : 114
Points : 114
Par défaut limite du addtime?

Bonjour,

Je gère une application pour la gestion de taches des employes.
Par exemple si le chef créé une tache pour son employé le 17 septembre de 13a 14h alors je renvoie le nombre d'heures depuis le 1er Janvier.
Donc en gros :
Janvier = 31*24 +
Fevrier = 28*24 +
...
...
Septembre = (17 *24 ) + 13 h => pour le debut

Mais apres je rencontre un petit probleme pour l'enregistrer en base.
Car je voudrais le transcrire en vrai date.
Alors je sais qu'il existe des fonctions Mysql pour faire un dateadd...
Code :
1
2
 
 SELECT ADDTIME("2008-01-01 00:00:00", "1 6226:00:00");
J'ai essayé sans le 1 avec des micro secondes et tout mais non rien ne marche.
Avez vous une idée? car je tourne en rond grrr

Merci
Sandrine
speed034 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/09/2008, 18h07   #2
Modérateur
 
Avatar de Cybher
 
Homme Michel
Consultant informatique
Inscription : mai 2005
Messages : 3 006
Détails du profil
Informations personnelles :
Nom : Homme Michel
Âge : 29
Localisation : France

Informations professionnelles :
Activité : Consultant informatique
Secteur : Conseil

Informations forums :
Inscription : mai 2005
Messages : 3 006
Points : 4 039
Points : 4 039
salut,

si tu as la date du 17/9 à 13h pourquoi n'utilises tu pas simplement cette information plutôt que le nombre d'heures?
Cybher est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/09/2008, 10h42   #3
Membre habitué
 
Inscription : février 2004
Messages : 260
Détails du profil
Informations forums :
Inscription : février 2004
Messages : 260
Points : 114
Points : 114
Bah j'ai la date qu'en visuelle, je sais ou j'ai cliquer, mais on stock sa valeur en nombre d'heure depuis le 1er janvier.

Quelqu'un connait une limite pour le addtime?

Merci
Sandrine
speed034 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/09/2008, 10h59   #4
Modérateur
 
Avatar de Cybher
 
Homme Michel
Consultant informatique
Inscription : mai 2005
Messages : 3 006
Détails du profil
Informations personnelles :
Nom : Homme Michel
Âge : 29
Localisation : France

Informations professionnelles :
Activité : Consultant informatique
Secteur : Conseil

Informations forums :
Inscription : mai 2005
Messages : 3 006
Points : 4 039
Points : 4 039
salut,

en fait pour moi, pour le addtime, il faut que ton paramètre soit du type jour heure:minute:seconde
donc si tu as plus de 24h, je pense que tu risques d'avoir des résultats surprenants.

après, tu peux peut être utiliser les fonctions timestamp_unix et from_unixtime pour faire cette opération
Cybher est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/09/2008, 11h22   #5
Membre habitué
 
Inscription : février 2004
Messages : 260
Détails du profil
Informations forums :
Inscription : février 2004
Messages : 260
Points : 114
Points : 114
Yes je me doute qu'il doit etre sous ce format là.
Mais c'est surprenant car on peut faire un addtime de 35 jours max donc en l'occurence
35*24heure= 840
apres il bloque...
bizarre
sinon je vais faire une boucle chaque 840 alors on fait un add, car gérer le mois de février... grrrr
Si tu vois une autre soluc un peu plus propre?

En tout cas merci
Sandrine
speed034 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/09/2008, 11h32   #6
Modérateur
 
Avatar de Cybher
 
Homme Michel
Consultant informatique
Inscription : mai 2005
Messages : 3 006
Détails du profil
Informations personnelles :
Nom : Homme Michel
Âge : 29
Localisation : France

Informations professionnelles :
Activité : Consultant informatique
Secteur : Conseil

Informations forums :
Inscription : mai 2005
Messages : 3 006
Points : 4 039
Points : 4 039
salut Sandrine,

je ne connais pas la limite du addtime, c'est surprenant que cela s'arrête à 840 mais bon, si quelqu'un a une explication,

ce qui m'étonne, c'est de compter le nombre d'heure au lieu d'utiliser directement la date mais après je suppose que tu as tes raisons

sinon niveau requête, quelque chose dans ce style peut être?
Code :
SELECT from_unixtime(unix_timestamp("2008-01-01 00:00:00")  +6226*3600);
mais il doit y avoir plus propre

bon courage

Michel
Cybher est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/09/2008, 11h55   #7
Membre habitué
 
Inscription : février 2004
Messages : 260
Détails du profil
Informations forums :
Inscription : février 2004
Messages : 260
Points : 114
Points : 114
J'ai trouvé ca (pour la limite a 34 jours du addtime) :
http://dev.mysql.com/doc/refman/4.1/en/time.html

Here D represents days and can have a value from 0 to 34. Note that MySQL does not store the fraction part.

Merci pour la fonction elle marche (me manque juste le decalage horaire lol)

En fait je ne connais pas la date vraiment car c'est plusieurs div accrochés, un pour janvier...donc avec l'affichage je sais ou est ce que j'ai mis ma nouvelle tache, mais exactement je ne la connais pas, je connais juste le nombre de pixel donc le nombre d'heure depuis le 1 janvier
Voila pour la petite explication

Merci
Sandrine
speed034 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 22h21.


 
 
 
 
Partenaires

Hébergement Web