web-dev-qa-db-ja.com

JSON日付をC#DateTimeに解析する

targetProcessから情報を取得し、その情報をSQLテーブルに配置するAPIがあります。

この問題は、json date "/Date(1409202000000-0500 )/"として受け取ったため、targetProcessフィールドが日付の場合に発生します。

このjsonの日付をc#でDatetimeに変換するにはどうすればよいですか?

私はこれのasnwerのような余分な引用符を追加しようとしています StackOverflow Post が機能しません。

私は単語の日付を1409202000000-0500

DateTime dotNetDate = new DateTime(1970, 1, 1);
dotNetDate = dotNetDate.AddMilliseconds(Convert.ToInt64(1409202000000-0500) 

jSON.NETを次のように使用しています

string sa = "/Date(1409202000000-0500 )/"
DateTime dt = new DateTime();
dt = JsonConvert.DeserializeObject<DateTime>(sa);

しかし、それも機能しません、

だから問題は....このjsonの日付をc#でDatetimeに変換するにはどうすればよいですか?

9

正しくフォーマットされていることを確認するには、文字列を「プログラムで」引用符で囲む必要があります。

string sa = @"""" + "/Date(1409202000000-0500 )/" + @"""";
DateTime dt = JsonConvert.DeserializeObject<DateTime>(sa);

複数回呼び出す必要がある場合は(これを行うようです)、ラッピングの責任をメソッドに移動します。

public string WrapStringInQuotes(string input)
{
    return @"""" + input + @"""";
}
12
David L

問題は日付文字列にあります。の代わりに

string sa = "/Date(1409202000000-0500 )/"

試す

string sa = @"""/Date(1409202000000-0500)/""";

コードを変更します。

 string sa = @"""/Date(1409202000000-0500)/""";
            DateTime dt = new DateTime();
            dt = JsonConvert.DeserializeObject<DateTime>(sa);
            // dt = "2014-08-28 3.00.00 PM"
2
Santhosh