how deal with date?
Show older comments
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
huda nawaf
on 3 Nov 2011
Fangjun Jiang
on 3 Nov 2011
The input needs to be data vector or STRING!
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().
Answers (3)
Daniel Baboiu
on 3 Nov 2011
1 vote
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
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.
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
on 3 Nov 2011
0 votes
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
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!