GORAGOD.com
freelance, web developer, web designer, hosting, domain name
Home
Host & Domain
Portfolio
การจัดการกับวันที่ที่มีรูปแบบต่างกัน
Home
Forum
การจัดการกับวันที่ที่มีรูปแบบต่างกัน
yoojuy
การจัดการกับวันที่ที่มีรูปแบบต่างกัน เราควรทำอย่างไรดีครับ
ตัวอย่าง ต้องการ Format Date ดังนี้ครับ Y-m-d , (2010-11-18)
แต่ข้อมูลที่จะนำเข้ามีลักษณะหลากหลายแบบมาก เช่น
2010-Nov-18
18/Nov/2010
18/11/2010
2010/11/18
ขอบคุณครับ
goragod
คงต้องเขียนคำสั่งเพื่อจัดการเองแล้วมั้งครับ ซึ่งน่าจะวุ่นวายเอาการ
2010-Nov-18
18/Nov/2010
2 รายการนี้อาจไม่ยากเท่าไร โดยใช้แนวคิดว่า 4 หลักคือ ปี 2 หลักคือ วันที่ และ ภาษาอ. คือ เดือน
18/11/2010
2010/11/18
2 อันนี้แหละ หิน สุดๆ เราไม่มีทางรู้เลยว่า อันไหนคือ วันที่ อันไหน คือเดือน (รับประกันได้ว่าในโลกนี้ไม่มีใครเขียนโปรแกรมแยกได้)
yoojuy
ขอบคุณมากครับอาจารย์ ลูกค้าดันส่งข้อมูลมาไม่เหมือนกันซักที่
yoojuy
ทำได้แล้วครับ ลองดูนะครับ เผื่อมีท่านใดจำเป็นต้องใช้งานนะครับ
20-Dec-10
select date_format(str_to_date('20-Dec-10 ', "%d-%b-%Y"), "%m/%d/%Y");
26.08.2010
SELECT date_format(STR_TO_DATE('26.8.2010', '%d.%m.%Y'), "%m/%d/%Y");
23082010
SELECT date_format(STR_TO_DATE('23082010', '%d%m%Y'), "%m/%d/%Y");
20100916
SELECT date_format(STR_TO_DATE('20100916', '%Y%m%d'), "%m/%d/%Y");
23/09/2010
SELECT date_format(STR_TO_DATE('23/09/2010', '%d/%m/%Y'), "%m/%d/%Y");
2010-08-10
date("Y-m-d",strtotime("2010-08-10"));
BlueEye
ปัญหายังตกอยู่ที่สองแบบตามที่คุณกรกดบอกนั่นแหละครับ คือ
ถ้าเป็น 20100101 จะใช้ฟังก์ชั่นไหน ระหว่าง (%Y%m%d) หรือ (%Y%d%m) และถ้าเป็น
01012010 จะใช้ฟังก์ชั่นไหน ระหว่าง (%d%m%Y) หรือ (%m%d%Y)
เพราะมีบางครั้งเหมือนกันที่ เดือนกับวันมักจะสลับที่กันอยู่ แต่พบน้อยหน่อยในไทย แต่บางประเทศใช้สลับกันกับบ้านเราจริงๆ
ความคิดเห็น
รายละเอียด
ไฟล์อัปโหลด ชนิด jpg, jpeg ขนาดไฟล์ไม่เกิน 1024
^
2010-Nov-18
18/Nov/2010
2 รายการนี้อาจไม่ยากเท่าไร โดยใช้แนวคิดว่า 4 หลักคือ ปี 2 หลักคือ วันที่ และ ภาษาอ. คือ เดือน
18/11/2010
2010/11/18
2 อันนี้แหละ หิน สุดๆ เราไม่มีทางรู้เลยว่า อันไหนคือ วันที่ อันไหน คือเดือน (รับประกันได้ว่าในโลกนี้ไม่มีใครเขียนโปรแกรมแยกได้)
ทำได้แล้วครับ ลองดูนะครับ เผื่อมีท่านใดจำเป็นต้องใช้งานนะครับ
20-Dec-10
select date_format(str_to_date('20-Dec-10 ', "%d-%b-%Y"), "%m/%d/%Y");
26.08.2010
SELECT date_format(STR_TO_DATE('26.8.2010', '%d.%m.%Y'), "%m/%d/%Y");
23082010
SELECT date_format(STR_TO_DATE('23082010', '%d%m%Y'), "%m/%d/%Y");
20100916
SELECT date_format(STR_TO_DATE('20100916', '%Y%m%d'), "%m/%d/%Y");
23/09/2010
SELECT date_format(STR_TO_DATE('23/09/2010', '%d/%m/%Y'), "%m/%d/%Y");
2010-08-10
date("Y-m-d",strtotime("2010-08-10"));
ถ้าเป็น 20100101 จะใช้ฟังก์ชั่นไหน ระหว่าง (%Y%m%d) หรือ (%Y%d%m) และถ้าเป็น
01012010 จะใช้ฟังก์ชั่นไหน ระหว่าง (%d%m%Y) หรือ (%m%d%Y)
เพราะมีบางครั้งเหมือนกันที่ เดือนกับวันมักจะสลับที่กันอยู่ แต่พบน้อยหน่อยในไทย แต่บางประเทศใช้สลับกันกับบ้านเราจริงๆ