> langage et graphiques > Vecteurs et opérations > Dates et temps
Dates et temps
Sys.Date() : renvoie la date, sous forme d'un objet de classe Date.
date() renvoie aussi la date, mais sous forme de chaîne de caractères.
Sys.time() : renvoie le temps (incluant la date), sous forme d'un objet de classe POSIXct.
Dates et temps sont représentés par des entiers :
- as.double(Sys.Date()) : donne le nombre de jours depuis 1970-01-01
- as.double(Sys.time()) : donne le nombre de secondes.
Conversion d'une date ou d'un temps en chaîne de caractères :
- format(Sys.Date(), "%m/%d/%Y") : formatte la date courante selon le format indiqué
- format(Sys.time(), "%m/%d/%Y %H:%M:%S") : formatte le temps courante selon le format indiqué
- Principaux tags pour les dates et temps :
- %a : nom abrégé du jour.
- %A : nom complet du jour.
- %b : nom abrégé du mois.
- %B : nom complet du mois.
- %d : jour du mois.
- %H : heure de 00 à 23.
- %j : jour de l'année.
- %m : mois de 01 à 12.
- %M : minute de 00 à 59.
- %S : secondes.
- %U : numéro de la semaine (1 à 52).
- %w : numéro du jour de la semaine (dimanche = 0).
- %x : date, selon la locale.
- %X : temps selon la locale.
- %Y : année sur 4 chiffres.
- %T : équivalent à %H:%M:%S.
Conversion d'une chaîne de caractères en date :
- as.Date("2005-05-15") : avec un format standard.
- as.Date("2005.05.15", format = "%Y.%m.%d") : si le format n'est pas standard.
Conversion d'une chaîne de caractères en date et temps :
- as.POSIXct("2005-05-15 14:56:32") : renvoie un objet POSIXct.
Opérations sur les dates et temps :
- On peut rajouter (ou soustraire) un nombre de jours à une date : Sys.Date() + 40 : renvoie la date dans 40 jours.
- On peut rajouter (ou soustraire) un nombre de secondes à un temps : Sys.time() + 3600 : renvoie le temps dans 1 heure (3600 secondes).
Conversion d'une date en nombre de jours depuis le 01/01/1070 :
dayNbr <- julian(as.Date("2005-01-01"))
Séquence sur des dates :
- seq(as.Date("2005-01-01"), as.Date("2008-03-01"), by = "month") : donne des dates tous les mois (idem avec year, ou day).
- seq(as.POSIXct("2008-12-01 20:45:32"), as.POSIXct("2008-12-15 20:45:32"), by = "hour") : donne des temps toutes les heures (idem avec min ou sec).
Copyright Aymeric Duclert
programmer en R, tutoriel R, graphes en R