การแสดงวันที่เป็นภาษาไทย
โดย: สุรัตน์ บัณฑิตลักษณะ
ที่มา: www.thaiasp.net
 
     ผมก็เป็นคนหนึ่งที่ใช้ Server ที่อยู่ในต่างประเทศ ปัญหาหนึ่งที่ผมเจอแล้วรู้สึกรำคาญมากก็คือ การที่ ผม เรียกใช้ ฟังก์ชัน อย่าง Now Date หรืออะไรที่เกี่ยวกับวันเวลา แล้วมันเป็นวันเวลาของต่างประเทศ เช่น 2 August 2000 เป็นต้น แต่ เว็บผมใช้กับคนไทยนี่นา....
ดูตัวอย่างวันเวลาที่เป็นปัญหา?      
ตามปกติแล้วการเรียกให้ เว็บเพจ ASP แสดงค่าของวันเวลา จะทำได้โดยคำสั่ง Now หรือ Date ดังตัวอย่างนี้
ผลลัพธ์ของการใช้ฟังก์ชัน Now จะให้ค่าดังนี้
     <%=now%> ค่าที่แสดงออกมาจะเป็น 12/09/00 11:32:20 PM
ผลลัพธ์ของการใช้ฟังก์ชัน Date จะให้ค่าดังนี้
     <%=date%> ค่าที่แสดงออกมาจะเป็น 12/09/00
หรือแม้กระทั่งการใช้ฟังก์ชัน FormatDateTime (ที่คิดว่าจะแก้ปัญหาให้เราได้) ก็จะมีค่าเป็น
     <%=FormatDateTime(Date,1)%> ค่าที่แสดงออกมาจะเป็น 6 December 2000
เนื่องจากว่า Server ไม่ได้เป็น WindowsNT version Thai Enable
แต่สิ่งที่ผมต้องการก็คือ 6 ธันวาคม 2543 เพราะผมเป็นคนไทย!!! รักเมืองไทย แล้วผมจะทำไงดี
  
สิ่งที่ต้องรู้ก่อนแก้ปัญหา
1. การใช้อาร์เรย์ อาร์เรย์เป็นตัวแปรชนิดหนึ่ง ซึ่งมีลักษณะการเก็บค่าเป็นมิติ(ฟังดูยากจัง) แต่ไม่ต้องสนใจหรอกครับ ดูแค่การนำไปใช้ดีกว่า

อาร์เรย์สามารถ กำหนดค่าได้ดังนี้
     a=ฤrray("surat","bunditraksana") จะได้ว่า
     a(0) มีค่าเท่ากับ "surat" และ a(1) มีค่าเท่ากับ "bunditraksana"
2. การใช้ฟังก์ชัน Day( ), Month( ), Year( )

1.คำสั่ง Day ใช้แสดงค่าตัวเลขวัน เช่น
     Day(Date) จะได้ค่าออกมาเป็นตัวเลขวันที่ปัจจุบัน เช่น 31
2.คำสั่ง Month ใช้แสดงค่าตัวเลขเดือน เช่น
     Month(Date) จะได้ค่าออกมาเป็นตัวเลขเดือนปัจจุบัน เช่น 12
3 คำสั่ง Year ใช้แสดงค่าตัวเลขปี เช่น
      Year(Date) จะได้ค่าออกมาเป็นตัวเลขปีปัจจุบัน เช่น 2000
ตะลุยปัยหากันเลย!
ผมจะแก้ให้วันที่ 12/12/00 กลายเป็นวันที่ 12 ธันวาคม 2543 นะครับ

<%=Date%> จะได้ค่าเท่ากับ 12/12/2000
เราจะแก้ไขใหม่เป็นดังนี้
<%a=Array("มกราคม","กุมภาพันธ์","มีนาคม","เมษายน","พฤษภาคม","มิถุนายน","กรกฎาคม", "สิงหาคม"," กันยายน","ตุลาคม","พฤษจิกายน","ธันวาคม")
' กำหนดค่าเดือนแต่ละเดือน%>
<%=Day(Date)&" "&a(Month(Date)-1)&" "&Year(Date)+543
' ที่ Month(Date) ต้องลบ 1 ก็เพราะว่า array จะมีค่าเริ่มต้นจากศูนย์ เช่น
เดือนปัจจุบันเป็นเดือน 1 Month(Date) จะมีค่าเท่ากับ 1 แต่เทียบเท่าค่าใน Array เป็น a(0)
%>
จะได้ค่าเท่ากับ 12 ธันวาคม 2543


Home | ASP Board | Coldfusion Board | Source Code | Lesson(beginner)
Lesson(Professional) l My Jobs | E-card |About Us


Copyright © 2000 www.ThaiASP.net All rights reserved.