2012-08-23 3 views
0

날짜를 표시하고 싶습니다 (마스터 페이지에 표시). 현재의 문화를 바탕으로 다른 언어로 마스터문화를 기준으로 한 날짜 표시

내 자바 스크립트 코드 : 프랑스어 또는 기타 :

<script type="text/javascript"> 
     var t; 
     $(document).ready(function pageLoad() { 
      setTimeout('SetTime()', 1000); 
     }); 

     function SetTime() { 
      var date = new Date(); 
      date.format = 'MM.DD.YYYY'; 
      $get('<%=lbl.ClientID %>').innerHTML = date.toLocaleDateString() + " : " + date.toLocaleTimeString(); 
      setTimeout("SetTime()", 1000); 
     } 

    </script> 

항상 내가 다른 문화라고 설정 한 경우에도 영어로 날짜 문자열을 보여줍니다. 여기

protected override void OnInit(EventArgs e) 
{ 
    base.OnInit(e); 
    Timer1.Tick += new EventHandler<EventArgs>(Timer1_Tick); 
} 

void Timer1_Tick(object sender, EventArgs e) 
{ 
    Label2.Text = DateTime.Now.ToLongDateString() + " " + DateTime.Now.ToLongTimeString(); 
    UpdatePanel1.Update(); 
} 

, 내가 선택한 문화를 기초로 다른 언어로 날짜 문자열을 받고 있어요 :

나는 코드 숨김 마스터 페이지의 파일을 통해 다른 방법을 시도했다. 하지만 저는 Timer를 사용하고 싶지 않습니다. 어떤 방법이 있더라도 타이머를 사용하지 않고도이 작업을 수행 할 수 있습니다. 감사.

답변

0

나는 위의 코드에 Datejs 날짜 라이브러리의 "toString"기능을 사용하고

function SetTime() { 
    var date = new Date(); 
    var dateFormat = '<%=System.Threading.Thread.CurrentThread.CurrentCulture.DateTimeFormat.ShortDatePattern%>'; 
    var timeFormat = '<%=System.Threading.Thread.CurrentThread.CurrentCulture.DateTimeFormat.LongTimePattern%>'; 
    var datetimeFormat = dateFormat + " " + timeFormat; 
    var cultureSpecificValue= date.toString(datetimeFormat); 
    alert(cultureSpecificValue); 

    //Your Code 

} 

이를 사용해보십시오.

1

toLocaleDateString은 클라이언트의 로캘을 사용하며 일반적으로 변경 내용을 적용하려면 브라우저를 다시 시작해야하며 .NET 스레드에서 사용되는 문화권과 관련이 없습니다.

0

당신과 같이, 당신의 web.config 파일이 정의 할 수 있습니다 : 기본을 chosing 동안 클라이언트에 의해 정의되지 않은 경우

수정이, 클라이언트 기반 형식을 사용하도록 설정해야합니다

<globalization enableClientBasedCulture="true" culture="auto:en-GB" uiCulture="auto:en"/>

너의 비참한 결과에 대한

특정 페이지에서만 설정하려는 경우 Date.format = 'yyyy-mm-dd'; 을 자바 스크립트 기능 외부에 넣으십시오.

// 감사합니다

0

ScriptManager가 페이지를 제어하게되면 Microsoft Ajax Date 객체 확장을 사용할 수 있습니다. 이 목적으로 ScriptManager의 EnableScriptGlobalization 속성을 true으로 설정하십시오. 그런 다음이 스크립트를 사용할 수 있습니다 :

var localDate = new Date().localeFormat("F"); 

여기에 마이크로 소프트 아약스 확장에 대한 자세한 : Microsoft Ajax JavaScript Base Type Extensions

관련 문제