As Javier said, just use the DateTime structure. A few things, though: why are you just calling e.GetType without actually using it? If you don't plan on using the exception for information (and I'm betting you are just calling e.GetType to get rid of the warning about declaring a type that you don't use), then don't declare it. Simply using catch or catch (Exception) is suitable (both of those result in the same behavior). Finally, is this a class or a struct you're using? A struct is a value type, so any changes you make to it happen on a copy - not the original object. A reference type (a class) will always be the same object, though (refers to the same object, rather). Depending on how you use your Day struct (assuming it's a struct), this could be the problem why its value appears unchanged.
Microsoft MVP, Visual C# My Articles