2017-08-26 209 views
1

我有一個C#日期時間對象,我試圖將其轉換爲谷歌日曆事件鏈接日期時間字符串。我用的是日曆鏈路發生器here和我看起來像這樣獲取日期時間字符串到谷歌日曆格式

日期的日期時間字符串= 20170829T180000Z%2F20170829T190000Z

那裏開始時間爲11時,第二次是12: 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的開始時間,並於上午6點結束。您給我的字符串創建了這個「20170906T050000Z%2F20170906T060000Z」,但是當我點擊我的電子郵件中的鏈接時,它會在谷歌日曆中打開一個日曆事件,設置爲2017年9月9日晚上10點到晚上11點。2017年5月9日 – user1186050

+0

可能因爲時間是UTC格式(基本上是英國時區)。格式化字符串之前,您需要將本地時間轉換爲UTC。 –