J’ai une chaîne du format suivant "ORDER20100322194007"
, où 20100322
est une date et 194007
est une heure. Comment parsingr une chaîne et obtenir l’object DateTime
contenu?
Est-ce que ça commence toujours par ORDER
?
ssortingng pattern = "'ORDER'yyyyMMddHHmmss"; DateTime dt; if (DateTime.TryParseExact(text, pattern, CultureInfo.InvariantCulture, DateTimeStyles.None, out dt)) { // dt is the parsed value } else { // Invalid ssortingng }
Si la chaîne non valide doit lancer une exception, utilisez DateTime.ParseExact
au lieu de DateTime.TryParseExact
Si cela ne commence pas toujours par “ORDER” alors faites tout ce que vous devez pour obtenir juste la partie date et heure, et supprimez “‘ORDER'” du modèle de format ci-dessus.
Vous pouvez utiliser la méthode DateTime.ParseExact pour spécifier le format à utiliser lors de l’parsing.
Si vous ne disposez pas d’une structure fixe de votre chaîne, à savoir que order ne sera pas toujours là, vous pouvez utiliser regex pour séparer les nombres et les caractères, puis utiliser la fonction convert to datetime pour les nombres séparés.