2016-03-26 1 views
0

英語とアラビア語の2つの言語のWebサイトがあります。私の窓は英語を使用しているので、ウェブサイトが "en-US"カルチャーにあるときはすべて正常に動作しますが、 "ar-JO"に変更すると例外が発生します。特定の文化を持つDateTime解析が機能しない

その後、特定のカルチャ(「en-US」)で各日付を解析しようとしました。私の問題は、これでもうまくいきませんでした。

DateTime.Parse(txt_LoginTime.Text,New System.Globalization.CultureInfo("en-US")) 

私は文化なしに上記のコードを使用すると、私は例外を取得し、私は文化とそれを使用するときに、私は次の出力を得る:

3/27/2016 12:00:00 ص 

を今の問題はアラビア語でありますAM/PMを表す手紙。私が理解するように、私は "en-US"文化を使用しているので、これはすべて英語であると考えられています。誰でも問題の原因と解決方法を特定することはできますか?

+0

入力は何ですか? '' en-US ''は、英国の日付で常にそうしている以上にアラビア語の文字列を解析しません。 – Plutonix

+0

それはそれを使用している点は何ですか?入力は「3/26/2016」 – ykh

答えて

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 
+0

時間12はPMの正午です。真夜中は00:00であり、12:00ではなくAMです。 – jdweng

+0

AM/PMを24時間形式で使用しても問題ありません。 – jdweng

関連する問題