如何使用谷歌API从谷歌日历获取IST

时间:2016-02-03 07:34:19

标签: c# google-api google-calendar-api google-api-dotnet-client

在我的日历中,时间显示在IST中 在我使用Google日历API的应用程序中,我在GMT中得到时间 如何在IST获得活动时间,GMT+05.30

Please see this image

                request.TimeMin = dtStart;
                request.TimeMax = dtEnd;
                request.ShowDeleted = false;
                request.SingleEvents = true;
              //  request.TimeZone = "Asia/Calcutta";

1 个答案:

答案 0 :(得分:2)

Google .net客户端库似乎在为您的约会做一些有趣的事情。

从日历v3 dll中删除的代码

可以找到来源here

/// <summary>The date, in the format "yyyy-mm-dd", if this is an all-day event.</summary>
        [Newtonsoft.Json.JsonPropertyAttribute("date")]
        public virtual string Date { get; set; } 

        /// <summary>The time, as a combined date-time value (formatted according to RFC3339). A time zone offset is
        /// required unless a time zone is explicitly specified in timeZone.</summary>
        [Newtonsoft.Json.JsonPropertyAttribute("dateTime")]
        public virtual string DateTimeRaw { get; set; }

        /// <summary><seealso cref="System.DateTime"/> representation of <see cref="DateTimeRaw"/>.</summary>
        [Newtonsoft.Json.JsonIgnore]
        public virtual System.Nullable<System.DateTime> DateTime
        {
            get
            {
                return Google.Apis.Util.Utilities.GetDateTimeFromString(DateTimeRaw);
            }
            set
            {
                DateTimeRaw = Google.Apis.Util.Utilities.GetStringFromDateTime(value);
            }
        }

从核心库here

中删除的代码
 /// <summary>
        /// Parses the input string and returns <see cref="System.DateTime"/> if the input is a valid 
        /// representation of a date. Otherwise it returns <c>null</c>.
        /// </summary>
        public static DateTime? GetDateTimeFromString(string raw)
        {
            DateTime result;
            if (!DateTime.TryParse(raw, out result))
            {
                return null;
            }
            return result;
        }

我的建议:

我建议您使用原始字符串datetimeRaw并将其自行转换为日期。我应该向客户端lib添加一个问题,以便添加一个真正的日期转换,而不是总是将其转换为本地时间。

我在客户端lib [Calendar V3 generated] date cast to local time but not actual

上添加了一个错误/功能请求