<p>Ok - a bit of a mouthful. So the problem I have is this - I need to store a Date for expiry where <em>only</em> the date part is required and I don't want any timezone conversion. So for example if I have an expiry set to "08 March 2008" I want that value to be returned to any client - no matter what their timezone is. 
The problem with remoting it as a DateTime is that it gets stored/sent as "08 March 2008 00:00", which means for clients connecting from any timezone West of me it gets converted and therefore flipped to "07 March 2008"
Any suggestions for cleanly handling this scenario ? Obviously sending it as a string would work. anything else ?
thanks,
Ian</p>

[{'answer_id': 79792, 'author': 'Yitzchok', 'author_id': 5723, 'author_profile': 'https://Stackoverflow.com/users/5723', 'pm_score': 0, 'selected': False, 'text': '<p>You can send it as UTC Time</p>\n\n<p>dateTime1.ToUniversalTime()</p>\n'}, {'answer_id': 79810, 'author': 'Community', 'author_id': -1, 'author_profile': 'https://Stackoverflow.com/users/-1', 'pm_score': 0, 'selected': False, 'text': '<p>I think sending as a timestamp string would be the quickest / easiest way although you could look at forcing a locale to stop the time conversion from occuring.</p>\n'}, {'answer_id': 79837, 'author': 'Timothy Carter', 'author_id': 4660, 'author_profile': 'https://Stackoverflow.com/users/4660', 'pm_score': 1, 'selected': True, 'text': '<p>You could create a struct Date that provides access to the details you want/need, like:</p>\n\n<pre><code>public struct Date\n{\n    public int Month; //or string instead of int\n    public int Day;\n    public int Year;\n}\n</code></pre>\n\n<p>This is lightweight, flexible and gives you full control.</p>\n'}, {'answer_id': 79839, 'author': 'Brettski', 'author_id': 5836, 'author_profile': 'https://Stackoverflow.com/users/5836', 'pm_score': 0, 'selected': False, 'text': "<p>Why don't you send it as a string then convert it back to a date type as needed?  This way it will not be converted over different timezones.  Keep it simple.</p>\n\n<p>Edit:  I like the Struct idea, allows for good functionality. </p>\n"}, {'answer_id': 80059, 'author': 'Jonathan Rupp', 'author_id': 12502, 'author_profile': 'https://Stackoverflow.com/users/12502', 'pm_score': 0, 'selected': False, 'text': "<p>The easiest way I've handled this on apps in the past is to just store the date as a string in yyyy-mm-dd format.  It's unambigious and doesn't get automatically translated by anything.</p>\n\n<p>Yes, it's a pain...</p>\n"}, {'answer_id': 80764, 'author': 'Joe', 'author_id': 13087, 'author_profile': 'https://Stackoverflow.com/users/13087', 'pm_score': 1, 'selected': False, 'text': '<p>I\'m not sure what remoting technology you\'re referring to, but this is a real problem with WCF, which only currently supports serializing DateTime as xs:DateTime, inappropriate for a date-only value where you are not interested in timezones.</p>\n\n<p>.NET 3.5 introduces the new DateTimeOffset type, which is good for transferring a DateTime between timezones, but doesn\'t help with the date-only scenario.</p>\n\n<p>Ideally WCF needs to optionally support xs:Date for serializing dates as requested here:</p>\n\n<p><a href="http://connect.microsoft.com/wcf/feedback/ViewFeedback.aspx?FeedbackID=349215" rel="nofollow noreferrer">http://connect.microsoft.com/wcf/feedback/ViewFeedback.aspx?FeedbackID=349215</a></p>\n'}, {'answer_id': 81958, 'author': 'Hallgrim', 'author_id': 15454, 'author_profile': 'https://Stackoverflow.com/users/15454', 'pm_score': 1, 'selected': False, 'text': '<p>I do it like this: Whenever I have a date in memory or stored in a file it is always in a DateTime in UTC.  When I show the date to the user it is always a string. When I convert between the string and the DateTime I also do the time zone conversion.</p>\n\n<p>This way I never have to deal with time zones in my logic, only in the presentation.</p>\n'}]
['https://Stackoverflow.com/questions/79774', 'https://Stackoverflow.com', 'https://Stackoverflow.com/users/14871/']