我的网站有两种语言,英语和阿拉伯语。由于我的Windows使用英语,当网站处于“en-US”文化时,一切正常,但是当我改为“ar-JO”时,我开始获得例外。
然后我尝试用特定的文化(“en-US”)解析每个日期。我的问题是即使这样也行不通。
DateTime.Parse(txt_LoginTime.Text,New System.Globalization.CultureInfo("en-US"))
当我使用上面没有文化的代码时,我得到一个例外,当我将它与文化一起使用时,我得到以下输出:
3/27/2016 12:00:00 ص
现在问题在于代表AM / PM的阿拉伯字母。据我了解,因为我使用的是“en-US”文化,所以这应该是全英文的。任何人都可以帮助识别问题的根源以及如何解决问题吗?
答案 0 :(得分:0)
我认为你有一小时12的AM,这没有多大意义。您可以使用以下代码创建自定义文化,该文化将使用美国数字和阿拉伯语AM / PM
Imports System.Globalization
Module Module1
Sub Main()
Dim input As String = "3/27/2016 00:00:00 ص"
Dim culture As New MyCulture
Dim _date As DateTime = DateTime.ParseExact(input, "M/dd/yyyy H:mm:ss t", culture)
End Sub
End Module
Public Class MyCulture
Inherits CultureInfo
Sub New()
MyBase.New(CultureInfo.InvariantCulture.Name)
Me.DateTimeFormat.AMDesignator = "ص"
Me.DateTimeFormat.PMDesignator = "م"
End Sub
End Class