Page 1 sur 1

[Résolu] Date / Unix

Posté : sam. 4 oct. 2014 15:29
par EVOTk
Bonjour,

J'ai fait un petit script pour convertir une date en temps Unix ( utile pour exploiter RRDTool ).

Le voici :

Code : Tout sélectionner

#!/usr/bin/env python
# -*- coding: utf-8 -*

import datetime
import time

# datetime ( ANNEE, MOIS, JOUR, HEURE, MINUTE )
dt = datetime.datetime(1970, 01, 01, 00, 00)
aff = time.mktime(dt.timetuple())

print aff
Seulement, je ne comprend pas pourquoi alors que j'ai mi la date du "point zero" d'Unix.

Le script me retourne :
-3600.0
Surement une question de fuseaux horaire non ? En tout cas si quelqu'un pouvait me l'expliquer :) Merci

Edit : Je croit que je viens de comprendre( un peu ).
En faite c'est parce-que nous sommes en UTC+1. Mais, en été nous sommes en UTC+2 !!
1h = 3600s, se qui explique le -3600s , mais nous sommes en été donc cela devrai plutot etre -7200 non ?
J'ai un peu de mal a comprendre ^^

Re: Date / Unix

Posté : sam. 4 oct. 2014 18:57
par domi
Bonjour,

De mémoire, c'est parce que nous sommes en heure d'été.
Attend la fin du mois tu n'auras plus de problème :lol:

Cherche du coté de l'objet "tzinfo" du datetime, je crois qu'il y a un paramètre DST qui permet de définir si on est en heure d'été ou d'hivers.

C'est quelque chose du genre !!!

Re: Date / Unix

Posté : sam. 4 oct. 2014 20:02
par Manfraid
Salut,

si tu cherche a juste avoir le timestamp c'est très simple tu utilise ceci

Code : Tout sélectionner

import datetime

ts = datetime.datetime.now().strftime("%s")
its = int(ts)
et grâce à ceci tu aura un timestamp fait en python.

tu peu remplacer le datetime.now() par la fonction datetime(2014,5,5) sans aucun soucis

Re: Date / Unix  [RESOLU]

Posté : sam. 4 oct. 2014 20:32
par EVOTk
Effectivement c'est a cause de l'heure d'été ( vraiment juste bon a nous embêter ce truc !! lol )

@Manfraid :
Merci pour ton code, il est un peu plus "beau" que le mien :)

Re: [Résolu] Date / Unix

Posté : dim. 5 oct. 2014 10:39
par Manfraid
Surtout ça évite d'importe un module pour rien :D