# Convert datetime to numeric - preserve date format

9 Ansichten (letzte 30 Tage)
Elin Jacobs am 27 Feb. 2023
Kommentiert: Campion Loong am 29 Mär. 2023
I have a timetable with dates (datetime data type) in the format 'yyyy-MM-dd HH:mm'. I want to convert these to a numeric data type (double) but keeping the exact numbers of each date such that the datetime '2023-02-27 14:00' is converted to the double '202302271400'. The function yyyymmdd() allows me to do this for the date, but not the hour and minute, and none of the other built in functions to convert to datenumber seem to have this option. Thanks for any insights to this problem.
##### 0 Kommentare-1 ältere Kommentare anzeigen-1 ältere Kommentare ausblenden

Melden Sie sich an, um zu kommentieren.

### Akzeptierte Antwort

Les Beckham am 27 Feb. 2023
Bearbeitet: Les Beckham am 28 Feb. 2023
Edited to work with datetime array vs a single datetime.
d = datetime(['2023-02-27 14:00'; '2023-02-27 15:00']) % test data - replace with your timetable
d = 2×1 datetime array
27-Feb-2023 14:00:00 27-Feb-2023 15:00:00
s = string(d, 'yyyyMMddHHmm')
s = 2×1 string array
"202302271400" "202302271500"
format long
% f = cellfun(@(s)sscanf(s, '%f'), s) % original method of converting to double
f = double(s) % An easier/cleaner method. Thanks to Walter for reminding me about this.
f = 2×1
1.0e+11 * 2.023022714000000 2.023022715000000
compose('%.0f', f)
ans = 2×1 cell array
{'202302271400'} {'202302271500'}
##### 10 Kommentare9 ältere Kommentare anzeigen9 ältere Kommentare ausblenden
Campion Loong am 29 Mär. 2023
@Elin Jacobs Thanks for confirming. That (unfortunately) makes sense.

Melden Sie sich an, um zu kommentieren.

### Kategorien

Mehr zu Data Type Conversion finden Sie in Help Center und File Exchange

R2020b

### Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by