Dans Windows, il est VarDateFromStr qui peut automatiquement analyser plusieurs formats si elle est utilisée comme ceci:
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. */
}
Il reconnaîtra généralement les formats numériques, mais peut également analyser « 10 Septembre 2009 00:30 », sans Lundi et sur mon ordinateur allemand sans e, mais cela peut dépendre des paramètres régionaux. Les mots doivent être dans la langue locale, par exemple, il faudra "Juin" sur les systèmes anglais, mais "Juni" sur les systèmes allemands.
Quelle plate-forme utilisez-vous? –
Comme mentionné par blak3r dans un commentaire, votre spécification est ambiguë. Dans le premier exemple, la date peut être analysée comme le 10 septembre ou le 9 octobre, selon le pays dans lequel vous vous trouvez. Vous devez spécifier un format. – bortzmeyer