字符串未被识别为有效日期时间vb.net

问题描述 投票:0回答:1

我在解析日期时收到“字符串未被识别为有效日期”错误

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格式。那也没有用。任何人都可以让我知道我正在做的错误。

vb.net date datetime
1个回答
3
投票

当我将您的确切代码粘贴到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
© www.soinside.com 2019 - 2024. All rights reserved.