Ejemplo n.º 1
0
        /// <summary>ローカル時刻→世界協定時刻(UTC)変換</summary>
        /// <param name="localTime">ローカル時刻</param>
        /// <param name="myTimeZoneId">ローカル時刻のタイムゾーン</param>
        /// <returns>世界協定時刻(UTC)</returns>
        public static DateTime ConvertLocalTimeToUtcTimeManual(DateTime localTime, MyTimeZoneEnum myTimeZoneId)
        {
            // チェック
            if (localTime.Kind != DateTimeKind.Utc)
            {
                // != DateTimeKind.Utc
                DateTime utcTime = new DateTime(localTime.Ticks, DateTimeKind.Utc);

                // 変換
                lock (GMTMaster.Lock)
                {
                    // 時差(分数)を引算
                    utcTime = utcTime.AddMinutes(GMTMaster.TZ.GetTimezoneOffset(myTimeZoneId) * -1);
                }

                return utcTime;
            }
            else
            {
                // == DateTimeKind.Utc
                throw new ArgumentException("localTime.Kind == DateTimeKind.Utc", "localTime");
            }
        }
Ejemplo n.º 2
0
        /// <summary>ローカル時刻→世界協定時刻(UTC)変換</summary>
        /// <param name="localTime">ローカル時刻</param>
        /// <param name="myTimeZoneId">ローカル時刻のタイムゾーン</param>
        /// <returns>世界協定時刻(UTC)</returns>
        public static DateTime ConvertLocalTimeToUtcTimeManual(DateTime localTime, MyTimeZoneEnum myTimeZoneId)
        {
            // チェック
            if (localTime.Kind != DateTimeKind.Utc)
            {
                // != DateTimeKind.Utc
                DateTime utcTime = new DateTime(localTime.Ticks, DateTimeKind.Utc);

                // 変換
                lock (GMTMaster.Lock)
                {
                    // 時差(分数)を引算
                    utcTime = utcTime.AddMinutes(GMTMaster.TZ.GetTimezoneOffset(myTimeZoneId) * -1);
                }

                return(utcTime);
            }
            else
            {
                // == DateTimeKind.Utc
                throw new ArgumentException("localTime.Kind == DateTimeKind.Utc", "localTime");
            }
        }
Ejemplo n.º 3
0
        /// <summary>世界協定時刻(UTC)→ローカル時刻変換</summary>
        /// <param name="utcTime">世界協定時刻(UTC)</param>
        /// <param name="myTimeZoneId">ローカル時刻のタイムゾーン</param>
        /// <returns>
        /// true:成功
        /// false:失敗(≠ DateTimeKind.Utc)
        /// </returns>
        public static DateTime ConvertUtcTimeToLocalTimeManual(DateTime utcTime, MyTimeZoneEnum myTimeZoneId)
        {
            // チェック
            if (utcTime.Kind != DateTimeKind.Local)
            {
                // != DateTimeKind.Local
                DateTime localTime = new DateTime(utcTime.Ticks, DateTimeKind.Local);

                // 変換
                lock (GMTMaster.Lock)
                {
                    // 時差(分数)を加算
                    localTime = localTime.AddMinutes(GMTMaster.TZ.GetTimezoneOffset(myTimeZoneId));
                }

                return(localTime);
            }
            else
            {
                // == DateTimeKind.Local
                throw new ArgumentException("utcTime.Kind == DateTimeKind.Local", "utcTime");
            }
        }
Ejemplo n.º 4
0
        /// <summary>世界協定時刻(UTC)→ローカル時刻変換</summary>
        /// <param name="utcTime">世界協定時刻(UTC)</param>
        /// <param name="myTimeZoneId">ローカル時刻のタイムゾーン</param>
        /// <returns>
        /// true:成功
        /// false:失敗(≠ DateTimeKind.Utc)
        /// </returns>
        public static DateTime ConvertUtcTimeToLocalTimeManual(DateTime utcTime, MyTimeZoneEnum myTimeZoneId)
        {
            // チェック
            if (utcTime.Kind != DateTimeKind.Local)
            {
                // != DateTimeKind.Local
                DateTime localTime = new DateTime(utcTime.Ticks, DateTimeKind.Local);

                // 変換
                lock (GMTMaster.Lock)
                {
                    // 時差(分数)を加算
                    localTime = localTime.AddMinutes(GMTMaster.TZ.GetTimezoneOffset(myTimeZoneId));
                }

                return localTime;
            }
            else
            {
                // == DateTimeKind.Local
                throw new ArgumentException("utcTime.Kind == DateTimeKind.Local", "utcTime");
            }
        }
Ejemplo n.º 5
0
 /// <summary>TimeZoneのオフセットを取得</summary>
 /// <param name="myTimeZoneEnum"></param>
 /// <returns>TimeZoneのオフセット(分)</returns>
 public int GetTimezoneOffset(MyTimeZoneEnum myTimeZoneEnum)
 {
     return(MyTimeZone.TimeZoneDictionary[myTimeZoneEnum]);
 }
Ejemplo n.º 6
0
 /// <summary>TimeZoneのオフセットを取得</summary>
 /// <param name="myTimeZoneEnum"></param>
 /// <returns>TimeZoneのオフセット(分)</returns>
 public int GetTimezoneOffset(MyTimeZoneEnum myTimeZoneEnum)
 {
     return MyTimeZone.TimeZoneDictionary[myTimeZoneEnum];
 }