본문 바로가기
IT-개발,DB

[ASP.NET] 로그인한 국가별 시간대별 DateTime 리턴

by SB리치퍼슨 2010. 10. 25.

private void Page_Load(System.Object sender, System.EventArgs e)
  {
               //sInDate = Strings.Format(DateTime.Now, "yyyy-MM-dd");
            //sInDate = fnGetLangTypeCurrentDate();//로그인한 LangType별 일자 셋팅
            //sInDate = fnChangeDate(DateTime.Now.ToString("U", DateTimeFormatInfo.InvariantInfo));//로그인한 LangType,시간대별 일자 셋팅 (현재시간 UTC형식으로 변경)
            sInDate = fnChangeDate(DateTime.Now.ToString());//로그인한 LangType,시간대별 일자 셋팅 (현재시간 UTC형식으로 변경)

    }

 

 

//로그인한 국가별 시간대별 일자셋팅
        private string fnChangeDate(string sDate)
        {
            string sRstValue = string.Empty;
            sDate = DateTime.Parse(sDate).ToString("U", System.Globalization.DateTimeFormatInfo.InvariantInfo);//UTC 포멧
            DateTime dt = DateTime.Parse(sDate);

            int iGmt = 9;// 한국 시간대를 기본으로 한다.(GMT +9)
            if (Request.Cookies["Login_GMT"] != null)
                iGmt = int.Parse(Request.Cookies["Login_GMT"].Value.Trim());
            dt = dt.AddHours(iGmt);

            if (CurrentLanguage.IndexOf("ko") >= 0)
            {
                //sRstValue += dt.ToString(new System.Globalization.CultureInfo("ko-kr").DateTimeFormat);//일시
                sRstValue += dt.ToString("yyyy-MM-dd", System.Globalization.DateTimeFormatInfo.InvariantInfo);//일자
            }
            else
            {
                //sRstValue = dt.ToString(new System.Globalization.CultureInfo("en-us").DateTimeFormat);//일시
                sRstValue += dt.ToString("d", System.Globalization.DateTimeFormatInfo.InvariantInfo);//일자
            }

            return sRstValue;
        }

        ////로그인한 LangType 에 따른 날짜포멧 변경
        //private string fnGetLangTypeCurrentDate()
        //{
        //    if (CurrentLanguage == "ko")
        //        return DateTime.Now.ToString("yyyy-MM-dd", DateTimeFormatInfo.InvariantInfo);
        //    else
        //        return DateTime.Now.ToString("d", DateTimeFormatInfo.InvariantInfo);
        //}

        ////로그인한 국가별 시간대별 일자셋팅
        //private string fnChangeDate(string sDate)
        //{
        //    try
        //    {
        //        //DateTime dt = DateTime.Parse(sDate).AddHours(-9);
        //        DateTime dt = DateTime.Parse(sDate);
        //        sDate = GetDateTimeString(UTC2LocalDateTime(dt));
        //    }
        //    catch (Exception ex)
        //    {
        //        //CommonUtils.ThrowException(ex, "fnChangeDate");
        //    }
        //    return sDate;
        //}       
        // UTC DateTime 을 로그인한 시간대별 시간으로 바꿔준다.
        //protected DateTime UTC2LocalDateTime(DateTime dt)
        //{
        //    int iGmt = 9;// 한국 시간대를 기본으로 한다.(GMT +9)

        //    if (Request.Cookies["Login_GMT"] != null)
        //        iGmt = int.Parse(Request.Cookies["Login_GMT"].Value.Trim());
           
        //    return dt.AddHours(iGmt);
        //}
        //// 언어에 따라 날짜 시간 포맷에 맞는 스트링을 반환
        //protected string GetDateTimeString(DateTime dt)
        //{
        //    string sRstValue = string.Empty;

        //    try
        //    {
        //        if (CurrentLanguage.IndexOf("ko") >= 0)
        //        {
        //            //sRstValue += dt.ToString(new System.Globalization.CultureInfo("ko-kr").DateTimeFormat);//일시
        //            sRstValue += dt.ToString("yyyy-MM-dd", DateTimeFormatInfo.InvariantInfo);//일자
        //        }
        //        else
        //        {
        //            //sRstValue = dt.ToString(new System.Globalization.CultureInfo("en-us").DateTimeFormat);//일시
        //            sRstValue += dt.ToString("d", DateTimeFormatInfo.InvariantInfo);//일자
        //        }
        //    }
        //    catch (Exception)
        //    {
        //        sRstValue = dt.ToString();
        //    }
        //    return sRstValue;
        //}
        #endregion

반응형

댓글