[Résolu] Date / Unix

Python est le langage de prédilection du Raspberry Pi

Modérateurs : Francois, Manfraid

Répondre
Avatar du membre
EVOTk
Modérateur
Messages : 847
Enregistré le : sam. 20 sept. 2014 02:36

[Résolu] Date / Unix

Message par EVOTk » sam. 4 oct. 2014 15:29

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 ^^
Modifié en dernier par EVOTk le sam. 4 oct. 2014 20:32, modifié 1 fois.
NAS : DS3615xs Xpenology - 2x 8To + 2x 3To + 2x 4To WD Red - APC Back-UPS Pro 900
SeedBox / VPN : 1To / 20Gbps / Trafic illimité chez FeralHosting
Surveillance Réseau : Smokeping sur Rasp. B / Raspbian
Imprimante 3D : Dagoma DiscoEasy 200

domi
Administrateur
Messages : 2621
Enregistré le : mer. 17 sept. 2014 18:12
Localisation : Seine et Marne

Re: Date / Unix

Message par domi » sam. 4 oct. 2014 18:57

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 !!!

Avatar du membre
Manfraid
Modérateur
Messages : 1402
Enregistré le : ven. 3 oct. 2014 14:50
Contact :

Re: Date / Unix

Message par Manfraid » sam. 4 oct. 2014 20:02

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
NAS : DIY OS Debian: DD250Go + 3x2To + 6To
Raspberry pi : 2B OS : Raspbian
Se tromper est humain, Vraiment foutre la merde nécessite le mot de passe de root.

Avatar du membre
EVOTk
Modérateur
Messages : 847
Enregistré le : sam. 20 sept. 2014 02:36

Re: Date / Unix

Message par EVOTk » sam. 4 oct. 2014 20:32

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 :)
NAS : DS3615xs Xpenology - 2x 8To + 2x 3To + 2x 4To WD Red - APC Back-UPS Pro 900
SeedBox / VPN : 1To / 20Gbps / Trafic illimité chez FeralHosting
Surveillance Réseau : Smokeping sur Rasp. B / Raspbian
Imprimante 3D : Dagoma DiscoEasy 200

Avatar du membre
Manfraid
Modérateur
Messages : 1402
Enregistré le : ven. 3 oct. 2014 14:50
Contact :

Re: [Résolu] Date / Unix

Message par Manfraid » dim. 5 oct. 2014 10:39

Surtout ça évite d'importe un module pour rien :D
NAS : DIY OS Debian: DD250Go + 3x2To + 6To
Raspberry pi : 2B OS : Raspbian
Se tromper est humain, Vraiment foutre la merde nécessite le mot de passe de root.

Répondre

Retourner vers « Python »