# ปัญหาเรื่อง วันที่ เวลา และ พุธศักราช(พ.ศ.) หรือ คริสศักราช(ค.ศ.)
# บางทีเมื่อเรา insert ข้อมูลที่เป็นวันที่ลงใน sql server แล้วมันขึ้นประมาณว่ารูปแบบ หรือ ปี มันเยอะเกินรับได้
# เราต้องตั้งค่าเริ่มต้นให้ control ทุกตัวใน app เรารุ้ก่อนว่าโปรแกรมเราตั้งรูปแบบวันที่เป็นอาไร
# ไทย เราก็ใช้ th-TH ส่วนถ้าเป็น อังกฤษเราควรใช้เป็น en-US
# ด้านล่างจะเป็นโค้ด C# ภาษาอื่นๆ ใน .Net ก็ใช้คล้ายๆ กัน
using System.Threading;
using System.Globalization;
// Put the following code before InitializeComponent()
// Sets the culture to French (France)
//Thread.CurrentThread.CurrentCulture = new CultureInfo("fr-FR");
// Sets the UI culture to French (France)
//Thread.CurrentThread.CurrentUICulture = new CultureInfo("fr-FR");
Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US");
Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-US");
//Thread.CurrentThread.CurrentCulture = new CultureInfo("th-TH");
//Thread.CurrentThread.CurrentUICulture = new CultureInfo("th-TH");
# web app สามารถใช้ได้Thread.CurrentThread.CurrentCulture เหมือน app ได้นะ
# ตำแหน่งวางใน web app ควรวางที่ Page_Load ของไฟล์ aspx นั้นๆ
protected void Page_Load(object sender, EventArgs e)
{
Thread.CurrentThread.CurrentCulture = new CultureInfo("th-TH");
Thread.CurrentThread.CurrentUICulture = new CultureInfo("th-TH");
........... another code ............
}
# แต่จะปรับเฉพาะบาง page เท่านั้น
# ถ้าต้องการปรับเปลียนทุก page ต้องแก้ที่ web.config ให้แก้ tag
<globalization uiculture="en" culture="en-US">
# ให้เป็นประมาณนี้ นะคิดว่า
<globalization uiculture="th" culture="th-TH"/>
# หรือถ้ามันไม่ได้ให้ไปดูใน scriptmanager เพิ่ม property เข้าไปอีก
<asp:scriptmanager id="ScriptManager1" runat="server">
# ให้แก้ไขเป็น
<asp:ScriptManager ID="ScriptManager1" runat="server"
EnableScriptGlobalization="True" EnableScriptLocalization="True" >
# ประมาณนี้อ่ะ ตามไปดูที่นี้เลย
References:
No comments:
Post a Comment