1

私は GetDateTimeOffset(string latitude, string longitude, string dateTime) Web サービスを持っています。これは Lat/Long と local DateTime を指定して Time Offset を決定します。

現在のクライアント Web ページでは、DateTimePicker プラグインhttp://trentrichardson.com/examples/timepicker/を使用しています。デフォルトの日付フォーマットとフォーマット時間部分を「h:mm:ss TT Z」として使用するため、サーバーに渡す文字列は「01/22/2014 12:09:00 AM -05:00」のようになります。しかし、Web サービスをより一般的なものにすることを考えているので、渡される dateTime 文字列の形式を許容する必要があります。

現在、BCL http://goo.gl/s9Kypxを使用して、次善の方法で DateTime 文字列 (ユーザー入力) を解析しています。

var tmpDateTime = new DateTimeOffset(DateTime.Now).DateTime;
if (!String.IsNullOrEmpty(dateTime))
{
    try
    {
        // Note: Looks stupid? I need to throw away TimeZone Offset specified in dateTime string (if any).
        // Funny thing is that calling DateTime.Parse(dateTime) would automatically modify DateTime for its value in a system timezone.
        tmpDateTime = DateTimeOffset.Parse(dateTime).DateTime;
    }

    catch (Exception) { }
}

質問:

  • a) 上記のコードは、柔軟な「寛容な」方法でユーザー入力を DateTime に解析する適切な BCL メソッドですか?
  • b) dateTime 文字列を LocalDateTime (野田時間クラス) に解析するための適切で「寛容な」方法は何でしょうか?

使うべきだと思います

4

1 に答える 1