How can I convert datetime into double?

361 Ansichten (letzte 30 Tage)
bluebar
bluebar am 11 Dez. 2019
Kommentiert: Steven Lord am 17 Nov. 2021
I have a data which is 60 x 4320 datetime, each cell is 2019/01/01 00:00:00 and want to convert this into 60 x 4320 double.
I tried to use datevec(data) but it resulted 259200 x 6 double, one row one character, like
2019 01 01 00 00 00
2019 01 01 00 10 00
2019 01 01 00 20 00
  3 Kommentare
MatLab Code N
MatLab Code N am 17 Nov. 2021
it is not possible to merge datetime with other double variables
Steven Lord
Steven Lord am 17 Nov. 2021
You cannot have a double array where some of the elements are datetime values, that is true. But if you have date- and/or time-stamped data, I suggest using a timetable instead.
T = datetime('today');
randomDays = T + days(randi([-7 7], 10, 1));
x = (1:10).';
myTimedData = timetable(randomDays, x)
myTimedData = 10×1 timetable
randomDays x ___________ __ 15-Nov-2021 1 11-Nov-2021 2 16-Nov-2021 3 18-Nov-2021 4 13-Nov-2021 5 11-Nov-2021 6 22-Nov-2021 7 13-Nov-2021 8 15-Nov-2021 9 11-Nov-2021 10

Melden Sie sich an, um zu kommentieren.

Antworten (2)

galaxy
galaxy am 12 Dez. 2019
You can use datenum to convert each your data to double.
Example:
>> t = datetime('now')
t =
datetime
2019/12/12 09:43:30
>> DateNumber = datenum(t)
DateNumber =
7.3777e+05
After that, if you want to convert back:
>> datetime(DateNumber,'ConvertFrom','datenum')
ans =
datetime
2019/12/12 09:43:30
hope it helps

Eric Sofen
Eric Sofen am 13 Dez. 2019
What do you want the doubles to represent?
Datenum returns a double represents days since 0 CE.
The posixtime function would give you a double representing seconds since the Unix epoch (00:00:00 1-Jan-1970 UTC).
The juliandate function gives a double representing days since...
The trouble with using double to represent dates and times is that there isn't one definition (there are also precision-related issues over long spans of time).
I'm curious if you'd be willing to share what you want to do with the doubles, and why you can't do it using datetime?

Kategorien

Mehr zu Dates and Time finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by