DateConvert

Version 1.1.0.0 (5,06 KB) von Jan
Simple but fast date conversion: 1.3% of DATESTR time, 20% of DATEVEC/ DATENUM time
1,8K Downloads
Aktualisiert 2. Jul 2010

Lizenz anzeigen

DateConvert: Simple but fast date conversion

DateConvert converts the DATESTR(0) format to a date vector or serial date number and backwards.

Matlab's DATENUM, DATEVEC and DATESTR accept a variety of inputs, but in consequence they are slow. If the input format is exactly known, the conversion can be much faster:
DATENUM('17-Oct-2009 11:08:23'): 2.97 sec
DateConvert('17-Oct-2009 11:08:23', 'number'): 0.039 sec
=> 1.3% (1000 loops, 1.5GHz Pentium-M, Matlab 7.7)

DateConvert does *not* validate the input date as Matlab's date functions:
DATEVEC('32-Feb-2008 25:62:63') replies [2008 3 4 2 2 7],
DateConvert('32-Feb-2008 25:61:67' , 'vector') replies [2008 2 32 25 61 67] !
So DateConvert is nearly trivial, but optimized for speed. I needed it for sorting 200'000 time stamps and reduced the time from 217 to 11 sec.

Please run the unit-test TestDateVec to check validity and speed.

Tested: Matlab 6.5, 7.7, 7.8, WinXP, 32bit.
Pure Matlab code, so compatibility to MacOS, Linux, 64 bit is expected.
English month names are needed.

Suggestions and question by email or in the comment section are very welcome.

See also: DateStr2Num (Jan Simon)
http://www.mathworks.com/matlabcentral/fileexchange/28093

Zitieren als

Jan (2024). DateConvert (https://www.mathworks.com/matlabcentral/fileexchange/25594-dateconvert), MATLAB Central File Exchange. Abgerufen.

Kompatibilität der MATLAB-Version
Erstellt mit R2009a
Kompatibel mit allen Versionen
Plattform-Kompatibilität
Windows macOS Linux
Kategorien
Mehr zu Dates and Time finden Sie in Help Center und MATLAB Answers

Community Treasure Hunt

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

Start Hunting!
Version Veröffentlicht Versionshinweise
1.1.0.0

Call to external function "isEqualTol" removed from the test function. No changes in the main function.

1.0.0.0