ผมก็เป็นคนหนึ่งที่ใช้
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 |
|
|
|
|
|
|
|