строка не распознается как действительная дата и время vb.net - PullRequest
0 голосов
/ 28 февраля 2019

Я получаю сообщение об ошибке «строка не распознана как действительная дата» при разборе даты.

Dim reviewDateString = "‎02‎/14‎/‎2019‎ ‎15‎:‎06‎:‎02"
DateTime.ParseExact(reviewDateString, "MM/dd/yyyy HH:mm:ss",
        System.Globalization.DateTimeFormatInfo.InvariantInfo)

Я также пытался использовать формат MM / dd / yyyy H: mm: ss.Это тоже не сработало.Может ли кто-нибудь дать мне знать, что я делаю ошибку?

1 Ответ

0 голосов
/ 28 февраля 2019

Когда я вставил ваш точный код в dotnetfiddle.net, я вижу невидимые символы (представленные точкой).Вам нужно очистить reviewDateString, чтобы удалить их.

enter image description here

Обновление : добавлен пример использования регулярных выраженийдля анализа невидимых символов (недопустимые символы строки даты)

Рабочая скрипка: https://dotnetfiddle.net/iQNhrp

Imports System
Imports System.Text.RegularExpressions

Public Module Module1
    Public Sub Main()
        Dim reviewDateString = "‎02‎/14‎/‎2019‎ ‎15‎:‎06‎:‎02"
        Dim parsedDateString = RegEx.Replace(reviewDateString, "[^0-9a-zA-Z :/]", String.Empty)

        Console.WriteLine("Copy and paste this into dotnetfiddle to see it has invisible characters:")
        Console.WriteLine(reviewDateString)

        Console.WriteLine()

        Console.WriteLine("Copy and paste this into dotnetfiddle to see it has no invisible characters, and is a valid date string.")
        Console.WriteLine(parsedDateString)

        ' no parse errors
        DateTime.ParseExact(parsedDateString, "MM/dd/yyyy HH:mm:ss", System.Globalization.DateTimeFormatInfo.InvariantInfo)
    End Sub
End Module
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...