Пример #1
0
        public static ExDateTime?ToEcpExDateTime(this string dateTimeString, string parseFormat)
        {
            if (dateTimeString.IsNullOrBlank())
            {
                return(null);
            }
            ExDateTime?result;

            try
            {
                if (EacRbacPrincipal.Instance.UserTimeZone != null)
                {
                    result = new ExDateTime?(ExDateTime.ParseExact(EacRbacPrincipal.Instance.UserTimeZone, dateTimeString, parseFormat, CultureInfo.InvariantCulture));
                }
                else
                {
                    int browserTimeZoneOffsetMinutes = EcpDateTimeHelper.GetBrowserTimeZoneOffsetMinutes();
                    result = new ExDateTime?(ExDateTime.ParseExact(ExTimeZone.UtcTimeZone, dateTimeString, parseFormat, CultureInfo.InvariantCulture).AddMinutes((double)browserTimeZoneOffsetMinutes));
                }
            }
            catch (FormatException ex)
            {
                ExTraceGlobals.EventLogTracer.TraceError <string, string>(0, 0L, "Fail to parse the date time string: {0}. Got the exception of '{1}'.", dateTimeString, ex.Message);
                result = null;
            }
            return(result);
        }
Пример #2
0
        public static ExDateTime ToUserExDateTime(this ExDateTime dateTimeValue)
        {
            if (EacRbacPrincipal.Instance.UserTimeZone != null)
            {
                return(EacRbacPrincipal.Instance.UserTimeZone.ConvertDateTime(dateTimeValue));
            }
            int browserTimeZoneOffsetMinutes = EcpDateTimeHelper.GetBrowserTimeZoneOffsetMinutes();

            return(dateTimeValue.ToUtc().AddMinutes((double)(-(double)browserTimeZoneOffsetMinutes)));
        }