How can I convert Java dates to MATLAB dates and retain daylight saving time details when using MATLAB 7.9 (R2009a)?

5 views (last 30 days)
I have a Java program that returns a list of dates to MATLAB. I would like to convert these days to MATLAB dates while retaining the daylight saving time and other details of the dates.

Accepted Answer

MathWorks Support Team
MathWorks Support Team on 23 Oct 2009
In order to do this, you will need to use the Java class "Calendar", as follows:
Calendar cal = cal.setTimeZone(TimeZone.getTimeZone("GMT"));
javaSerialDate = cal.getTimeInMillis() - cal.get(cal.ZONE_OFFSET) - cal.get(cal.DST_OFFSET);
You can then convert the date to a MATLAB date with the following MATLAB code:
matlabSerialDate = javaSerialDate / 1000 / 3600 / 24 + datenum('1970-01-01')
% -OR-
matlabSerialDate = datenum([1970 1 1 0 0 javaSerialDate / 1000])

More Answers (0)

Categories

Find more on Dates and Time in Help Center and File Exchange

Products


Release

R2009a

Community Treasure Hunt

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

Start Hunting!