how deal with date?

4 views (last 30 days)
huda nawaf
huda nawaf on 3 Nov 2011
hi, i have data with date as: ex.2005-09-06 are there func. convert this date into another form.
my work require to compare dates to know which event happen before , then I can arranged chronologically .
if is not , can i compare this date 2005-09-06 with another date to know which date earlier. or may there func. can arranged these dates. thanks
  3 Comments
Fangjun Jiang
Fangjun Jiang on 3 Nov 2011
The input needs to be data vector or STRING!
Fangjun Jiang
Fangjun Jiang on 3 Nov 2011
It's so funny. 2005-09-06 is treated as subtraction thus the result is 1990. You could also do datenum(2005,9,6) where the input arguments are date vector. See datevec().

Sign in to comment.

Answers (3)

Daniel Baboiu
Daniel Baboiu on 3 Nov 2011
See the documentation on date conversion functions below: http://www.mathworks.com/help/techdoc/matlab_prog/bspgcx2-1.html#bspgcx3-43
If you have the string in numeric format only (as in your example), in the order yyyy-mm-dd, then you can compare strings directly to get date order.
If you want to convert it to another format, then you must remember to specify the fields, if you use numeric-only notation (your example could be yyyy-mm-dd or yyyy-dd-mm)
  1 Comment
Jan
Jan on 3 Nov 2011
You cannot compare two dates in the string format yyyy-mm-dd directly, but you can use SORT to sort them, because then the chronological order equals the alphabetical order.

Sign in to comment.


Fangjun Jiang
Fangjun Jiang on 3 Nov 2011
You can convert the date string to numeric and then compare.
a=datenum('2005-09-06');
b=datenum('2005-09-05');
a>b

Bjorn Gustavsson
Bjorn Gustavsson on 3 Nov 2011
Yup, there is. First you have datestr, datevec and datenum. Those should handle most if not all of this task.
HTH,

Categories

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

Tags

Community Treasure Hunt

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

Start Hunting!