0

ASP.NET/C#の日付/時刻形式に問題があります。SQL Serverデータベースを、PostDateフィールドを「datetime」タイプに設定して設定しています。しかし、それは奇妙な形式で日付を保存しています。フォームを介して新しい行を追加し、これを日付/時刻の文字列として取得しました。

2012-09-28 14:56:48.910

JSON.NETで解析されると、さらに奇妙になります。私は得る:

2012-09-28T14:56:48.91

日付と時刻は明らかに正しいですが、日付を人間にわかりやすい方法で解析できるように設定するにはどうすればよいですか?行が挿入されるときに日付が追加されるため、投稿するコードは実際にはありません。これを「2012年9月28日午後2時56分」とフォーマットしたいと思います。それ、どうやったら出来るの?JSONとして解析される前または後に文字列をフォーマットする必要がありますか?

4

2 に答える 2

4

これは「奇妙な」形式ではありません。2番目の形式はISO-8601です。1つ目は、のないISO-8601Tです。JSONで取得できる奇妙な形式を考えると、かなり軽視されているように見えます。

シリアル化形式は、特にユーザーフレンドリーであるようには意図されていません-それらはマシンツーマシン形式であるように意図されています。

JSON.NETが解析後に提供してくれることを願っています。DateTimeJSONに変換し直した後でのみ、ISO-8601形式が提供されます。

DateTimeユーザーが使用できるようにフォーマットしたいものがある場合は、標準およびカスタムフォーマット文字列を使用したあらゆる種類のオプションがあります。可能な限りユーザーのカルチャを尊重する必要があることを忘れないでください。スレッドの現在のカルチャをユーザーのカルチャに設定するか、カルチャを明示的に渡すための適切な手順を実行していることを確認してください。DateTime.ToStringなどに。

于 2012-09-28T22:43:36.063 に答える
0

C#で試すことができます:

.ToString("MMM d yyyy, h:mm tt")
于 2012-09-28T22:46:54.243 に答える