2017-08-26 9 views
1

私はC#DateTimeオブジェクトを持っており、それをGoogleカレンダーのイベントリンクの日付時刻文字列に変換しようとしています。私は、カレンダーのリンクジェネレータhereを使用して、私は開始時刻が午前11時で、二度目は12である。この日付時刻文字列をGoogleカレンダー形式にする

日付= 20170829T180000Z%2F20170829T190000Z

のように見え、日付時刻文字列を取得します: 00PM

これを取得するために文字列をフォーマットするにはどうすればよいですか?

私はこれはこれは私の日付を取得しますこれまで

var FormattedStartDateTime = newEvent.EventDateTime.ToString("yyyyDDmm") 

持っていますが、どのように私は残りを得るのですか?残りは1月1日からの秒数だと思いますが、確信が持てません。最後に「T」と「Z」を含める方法はありますか?あるいは、私は秒を得た後、このような自分の文字列を作成する必要がありますか?

答えて

-1

var output = String.Format("{0:yyyyMMdd}T{0:HHmmss}Z%2F{1:yyyyMMdd}T{1:HHmmss}Z", startDateTime, endDateTime); 
+0

感謝を試してみてください。私はこれが良いかもしれないが確かではないと思う。 XmlConvert.ToString(newEvent.EventDateTime、XmlDateTimeSerializationMode.Utc)しかし、これは私に "2017-09-04T05:00:00Z"を与え、ダッシュやコルンなしでそれを取得する方法ですか、それとも単にそれらを削除する必要があります – user1186050

+0

何かではありません秒で正確にここで計算する。私は9月6日@ 5AMの開始時間があり、6AMで終了する。あなたが私に与えた文字列はこの「20170906T050000Z%2F20170906T060000Z」を作成しますが、自分のメールのリンクをクリックすると、2011年9月5日10時11分9月5日9月5日に設定されたGoogleカレンダーのカレンダーイベントが開きます – user1186050

+0

おそらく時間はUTC形式(本質的に英国のタイムゾーン)にあるからでしょう。文字列を書式設定する前に、現地時間からUTCに変換する必要があります。 –

関連する問題