SharePoint is enough intelligent to understand the format of the date time from the regional settings and doesn’t give error while parsing a string of different locale format to convert it to date time, only if you provide the required information to SharePoint.
What do I mean by that?
It’s seldom, e.g. where we receive the date time from a site collection with regional locale settings is English (United Kingdom) and code to parse that string to date-time getting executed on a site collection with regional locale settings is English (United States).
Date time format with locale settings English (United Kingdom): 24/2/2010 6:32:10 PM
Date time format with locale settings English (United States): 2/24/2010 6:32:10 PM
The code generally fails in such a situation:
DateTime.Parse("24/2/2010 6:32:10 PM")
Then what is expected, what I said earlier, provide correct information to SharePoint.
SharePoint has method to handle such situations and the code is:
SPUtility.ParseDate(web, "24/2/2010 6:32:10 PM",SPDateFormat.DateTime,true);
In this, what you are providing to SharePoint :
1) The SPWeb object of the site from which the date time in UK format is received, which gets the regional locale setting of the source site collection and parse the string to datetime without error. :)
2) Here time format in date string is taken as per the source site collection (i.e. 12 hrs) in your case, check the settings of Time Format if 12/24 and accordingly use the datetime string for successful testing, in case of actual code it will come in rspective format.
3) SPDateTimeFormat use correctly, as per receiving date's format (date to be parsed).
4) True/False, to decide, if want the date after parsing in UTC format or not.
Now can play with the date time from different regional, locale settings without worry.!!!