2017-12-27 11 views
0

Wie kann ich Termine in R in einen String umwandeln, ohne Bindestriche oder Schrägstriche oder Buchstaben und mal ohne Doppelpunkte. Zum Beispiel kann ich 2017-12-07 in R bekommen, aber ich brauche 201712071520, um in einem Wetter-API-Aufruf zu verwenden. Wie kann ich das machen? Als Referenz sehen Sie bitte den folgenden Beispielaufruf für startDateTime und endDateTime. Ich möchte die Daten, die ich habe, in das Format 20171207 umwandeln und mit einer festen Zeit (1520) ohne Doppelpunkt anhängen. Danke fürs Helfen!Notwendigkeit eines Wetter-API-Aufruf zu diesem Format ‚201.712.071.520‘ Datum und Uhrzeit in R konvertieren

Mir wurde gesagt, dass diese Frage schon einmal gestellt wurde, aber die anderen Beispiele machen die umgekehrte Umwandlung von Zeichenketten in R Daten und Zeiten. Hier

ist ein Beispiel für die API Ich bin Aufruf:

https://api.weather.com/v3/wx/hod/conditions/historical/point?pointType=nearest&geocode=39.86,-104.67&startDateTime=201712071520&endDateTime=201712071520&units=e&format=json&apiKey=yourApiKey

+0

Dirk, mir bitte zeigen, wo die exakte Kopie ist, weil ich es nicht finden kann, dank Michael – Mike

+0

Dirk Ihres Beispiel ist wie ein Zeichen in R. konvertieren Ich suche das Gegenteil zu tun und konvertiert von R in eine Zeichenkette 201712071520 – Mike

+0

Haben Kommentar auf eine Antwort bewegt. –

Antwort

1

von Kommentaren bewegt.

Wenn x der von R "Date" Klasse ist dann mit der angegebenen format Aussage:

x <- as.Date("2017-12-07") # test input 

format(x, "%Y%m%d1520") 
## [1] "201712071520" 

Siehe ?strptime für mehr auf Prozent Codes.

0

@G Vielen Dank, das hat super funktioniert!

0

Das ist ein bisschen mehr generische Lösung. Es würde wie folgt aussehen:

library(lubridate) 
    input_date = "2017-1-7" #intentionally taking different date to make it more generic 
    fixed_text = "1520" 
    input_date = ymd(input_date) 
    output_date = paste(year(input_date), sprintf(fmt = '%02d', month(input_date)), sprintf(fmt = '%02d', day(input_date)), fixed_text, sep = "") 
    print(output_date) 
Verwandte Themen