En Windows, no es VarDateFromStr que puede analizar automáticamente muchos formatos si se utiliza de esta manera:
LPCWSTR dateString = L"
DATE result;
HRESULT hr = ::VarDateFromStr(dateString,
LOCALE_ALL,
0,
&result);
if (FAILED(hr))
{
/* handle error */
/* DISP_E_TYPEMISMATCH means that it didn't recognize the format. */
}
Es generalmente reconocerán formatos numéricos, sino que también puede analizar "10 de septiembre de 2009 12:30a.m.", sin Lunes y en mi computadora alemana sin th, pero eso podría depender de la configuración regional. Las palabras deben estar en el idioma local, por ejemplo, necesitará "junio" en los sistemas en inglés, pero "Juni" en los sistemas alemanes.
¿qué plataforma estás usando? –
Como lo menciona blak3r en un comentario, su especificación es ambigua. En el primer ejemplo, la fecha se puede analizar como el 10 de septiembre o el 9 de octubre, dependiendo del país en el que se encuentre. Debe especificar un formato. – bortzmeyer