séparer l'heure d'une date

Postez ici vos questions, réponses, commentaires ou suggestions - Les sujets seront ultérieurement répartis dans les archives par les modérateurs

Modérateur : Groupe des modérateurs

Delalande Lucas
Messages : 40
Enregistré le : 14 Déc 2017, 08:48

séparer l'heure d'une date

Messagepar Delalande Lucas » 19 Déc 2017, 11:24

Bonjour,

J'ai un champ UTC_datetime avec des dates , ex : " 2017-11-29 14:16:29 " ,

Je voudrais un nouveau champ (UTC_time) avec les heures de ces dates, ex : " 14:16:29 "

Comment faire ?

Merci de votre précieuse aide !

Lucas

Mickael Canouil
Messages : 1315
Enregistré le : 04 Avr 2011, 08:53
Contact :

Re: séparer l'heure d'une date

Messagepar Mickael Canouil » 19 Déc 2017, 11:35

Bonjour,

une solution:
1- convertir la/les chaînes de caractères en "POSIX":

Code : Tout sélectionner

R> x = as.POSIXct(x = "2017-11-29 14:16:29", format = "%Y-%m-%d %H:%M:%S")
[1] "2017-11-29 14:16:29"

2- Extraire, le partie contenant l'heure en utilisant les propriétés de la classe "POSIX"

Code : Tout sélectionner

R> format(x, "%T")
[1] "14:16:29"


Autre solution:

Code : Tout sélectionner

R> x <- "2017-11-29 14:16:29"
R> gsub("[^ ]* ([^ ]*)", "\\1", x)
[1] "14:16:29"



Note: dans un cas, comme dans l'autre, le résultat est une chaîne de caractère.

Cordialement,
Mickaël
mickael.canouil.fr | rlille.fr

Delalande Lucas
Messages : 40
Enregistré le : 14 Déc 2017, 08:48

Re: séparer l'heure d'une date

Messagepar Delalande Lucas » 19 Déc 2017, 11:49

parfait merci beaucoup !

Delalande Lucas
Messages : 40
Enregistré le : 14 Déc 2017, 08:48

Re: séparer l'heure d'une date

Messagepar Delalande Lucas » 23 Mar 2018, 14:22

Et est il possible de transformer cette chaine de caractere obtenue en un format "date" mais qui n'indiquerait uniquement l'heure, en effet le code :

x$heure<-as.POSIXct(x$heure, format="%H:%M")

me remet une date de type : "%Y-%m-%d %H:%M:%S"

Serge Rapenne
Messages : 1426
Enregistré le : 20 Aoû 2007, 15:17
Contact :

Re: séparer l'heure d'une date

Messagepar Serge Rapenne » 23 Mar 2018, 14:37

Bonjour,

Non, le format heure n'existe pas (peut être dans un package que je ne connais pas). L'heure est forcement une partie de date.

Serge

Michaël Delorme
Messages : 67
Enregistré le : 04 Avr 2016, 10:21

Re: séparer l'heure d'une date

Messagepar Michaël Delorme » 26 Mar 2018, 06:21

Le package hms, avec lubridate, permet de manipuler des heures seules :

Code : Tout sélectionner

> library(lubridate)
> library(hms)
> hms::as.hms(hms::as.hms("10:45:00") + dminutes(20))
11:05:00


Retourner vers « Questions en cours »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité