This is due to the format that your particular data connection uses for dates.
Are you using Oracle?
Try rearranging the format. (This example works for Oracle and some others)
LEFT('2012-10-29T11:30:12', 4) //year
+ "-" +
MID('2012-10-29T11:30:12', 6, 2) //month
+ "-" +
MID('2012-10-29T11:30:12', 9, 2) //date
Another thing that might be an issue is if you don't have your timeClosed field coming in as a string. I would confirm that as well.
Or you could try this:
DATE( LEFT([timeClosed], FIND( [timeClosed],'T' )-1 ) )
You didn't say if you wanted to do anything with the time.
Not using Oracle. This is a data source from a partner, so we have little control over the formatting. You calculation (or Shawn's) did not work. Same result. Guessing now it has to do with the data format. When I check the format, of [timeClosed] is shows as a string, but obviously something is wrong.
As I mentioned in my comment to Aaron, this solution didn't work. There's probably an issue with how the data is coming in. I had to join several tables to construct this, but not sure that would cause an issue.
What about Datetime(replace('2012-10-29T11:30:12', 'T', ' '))
Seemed to work in my client...
Jonathan, how do you want the date to show up?