pylon:
You can also use the struct but remember that a struct is always called by its full name. So if you defined the struct as in the comments at the top of your code, you have to use it as "struct dateTime" and not just "dateTime".
Take note that Arduino uses C++, what you mention is only a C requirement, not C++ which only requires struct on the declaration, and there is only one rare circumstance where it is required elsewhere.
@OP, I have a few articles on the subject here which may provide more insight to Arduino's modifications.
http://arduino.land/FAQ/content/1/3/en/what-does-the-ide-change-in-my-sketch.html
http://arduino.land/FAQ/content/2/13/en/my-class_reference-won_t-work-in-the-sketch.html
http://arduino.land/FAQ/content/2/12/en/why-do-#ifdef-macro's-stop-the-sketch-from-compiling.html