|
|
|
ต้องการแสดงเดือนเป็นภาษาไทย ถ้าจะทำให้แสดงเป็นเดือนไทย 24 มีนาคม 2548 22:44:40 ต้องทำไงคับ! |
|
|
|
|
|
|
|
จากโค๊ดนี้
define("_DATESTRING","%d/%m/%Y %H:%M:%S");
ereg ("([0-9]{4})-([0-9]{1,2})-([0-9]{1,2}) ([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2})", $time, $datetime);
$datetime = strftime(""._DATESTRING."",
mktime($datetime[4],$datetime[5],$datetime[6],$datetime[2],$datetime[3],$datetime[1]));
จะแสดงวันที่เป็น
24/03/2005 22:44:40
ถ้าจะทำให้แสดงเป็นเดือนไทย
24 มีนาคม 2548 22:44:40
ต้องทำไงคับ!
Tag : - - - -
|
|
|
|
|
|
Date :
17 เม.ย. 2548 23:28:55 |
By :
ikob |
View :
27750 |
Reply :
11 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
อย่างงี้ได้ป่าวก็ไม่รู้นะคับ
$date_date = getdate();
switch $date_date[month]
{
case 01 : $month="มกราคม"; break;
case 02 : $month="กุมภาพันธ์"; break;
case 03 : $month="มีนาคม"; break;
case 04 : $month="เมษายน"; break;
case 05 : $month="พฤษภาคม"; break;
case 06 : $month="มิถุนายน"; break;
case 07 : $month="กรกฎาคม"; break;
case 08 : $month="สิงหาคม"; break;
case 09 : $month="กันยายน"; break;
case 10 : $month="ตุลาคม"; break;
case 11 : $month="พฤศจิกายน"; break;
case 12 : $month="ธันวาคม"; break;
}
แล้วจาเอาตัวแปร month ไปทำอะไรต่อก็เชิญเลยคับ
ไม่รู้เหมือนกันว่าทำอย่างนี้แล้วจามีข้อเสียอะไรอ่ะป่าวรบกวนผู้รู้ช่วยอีกทีนะคับ
|
|
|
|
|
Date :
18 เม.ย. 2548 09:43:02 |
By :
nut_T02 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ok! ตรงเดือนผมแก้เป็นไทยได้แล้วคำสั่งใช้คล้าย ๆ กันครับ
$datetime = eregi_replace("Jan", " "._JANUARY." ",$datetime);
$datetime = eregi_replace("Feb", " "._FEBRUARY." ",$datetime);
$datetime = eregi_replace("Mar", " "._MARCH." ",$datetime);
$datetime = eregi_replace("Api", " "._APRIL." ",$datetime);
$datetime = eregi_replace("May", " "._MAY." ",$datetime);
$datetime = eregi_replace("Jun", " "._JUNE." ",$datetime);
$datetime = eregi_replace("Jul", " "._JULY." ",$datetime);
$datetime = eregi_replace("Aug", " "._AUGUST." ",$datetime);
$datetime = eregi_replace("Sep", " "._SEPTEMBER." ",$datetime);
$datetime = eregi_replace("Oct", " "._OCTOBER." ",$datetime);
$datetime = eregi_replace("Nov", " "._NOVEMBER." ",$datetime);
$datetime = eregi_replace("Dec", " "._DECEMBER." ",$datetime);
ปัญหาของผมมันอยู่ที่คำสั่ง
$datetime = strftime(""._DATESTRING."",
mktime($datetime[4],$datetime[5],$datetime[6],$datetime[2],$datetime[3],$datetime[1]));
ซึ่งมันแสดงเป็นปี ค.ศ.
แต่ผมต้องการให้แสดงเป็น พ.ศ.
ผมเขียนแบบนี้
$datetime = strftime(""._DATESTRING."",
mktime($datetime[4],$datetime[5],$datetime[6],$datetime[2],$datetime[3],$datetime[1]+543));
มัน Error
Warning: mktime(): Windows does not support negative values for this function
|
|
|
|
|
Date :
18 เม.ย. 2548 22:19:30 |
By :
ikob |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เอาไปเลยเพ่
<?
$thaiweek=array("วันอาทิตย์","วันจันทร์","วันอังคาร","วันพุธ","วันพฤหัส","วันศุกร์","วันเสาร์");
$thaimonth=array("มกราคม","กุมภาพันธ์","มีนาคม","เมษายน","พฤษภาคม","มิถุนายน","กรกฎาคม","สิงหาคม","กันยายน","ตุลาคม","พฤศจิกายน","ธันวาคม");
echo $thaiweek[date("w")] ,"ที่",date(" j "), $thaimonth[date(" m ")-1] , " พ.ศ. ",date(" Y ")+543;
?>
|
|
|
|
|
Date :
19 เม.ย. 2548 09:39:27 |
By :
พล |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แบบนี้มันอ่านค่าจากวันที่ date() ปัจจุบันมาแสดง
ที่พี่ต้องการคือเอาค่าวันที่ที่เก็บไว้ใน $datetime ออกมาแสดงตามรูปแบบผ่านคำสั่ง
$datetime = strftime(""._DATESTRING."",
mktime($datetime[4],$datetime[5],$datetime[6],$datetime[2],$datetime[3],$datetime[1]));
|
|
|
|
|
Date :
19 เม.ย. 2548 11:44:02 |
By :
ikob |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ก็ในเมื่อมันวิธีที่ง่ายและได้ผลลัพธ์เหมือนๆกัน
ก็ใช้ตัวที่มันง่ายไม่ดีกว่าหรือครับ
ทำไมต้องยุ่งยากขนาดนั้น
|
|
|
|
|
Date :
19 เม.ย. 2548 15:46:14 |
By :
elfman |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เรื่องมากจริงๆเลย
|
|
|
|
|
Date :
19 เม.ย. 2548 17:12:52 |
By :
พล |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เอาน่า! อย่าใจน้อยซิ
หัวล้านเป่านี้
|
|
|
|
|
Date :
20 เม.ย. 2548 14:22:30 |
By :
ikob |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
พี่คับ มันจาเกี่ยวกันป่าวตรงที่พี่ +543 อ่ะคับ
อาจเพราะว่า มันเป็น string เลย +543 ซึ่งเป็น integer ไม่ได้
พี่ลองแปลงให้เป็น integer ก่อนแล้วค่อยบวก นะคับ
ถ้มันยัง error พี่ลอง
$date_date = getdate();
print_r ( $date_fdate );
มันจะบอกว่า array ช่องไหนเก็บค่าอะไร พี่ก็เลือกเฉพาะช่องที่พี่ต้องการ
เราสามรถอ้างเป็น array ได้เลยเช่น
$date_date[month] หรือ $date_date[year]
ทีนี้พี่ก็เอา array แต่ละช่อง มาต่อ string กัน ตามรูปแบบที่พี่ต้องการ เช่น
$str = $date_date[day]." ".$date_date[month]." ".$date_date[year]+543;
ผมเคยใช้อย่างนี้แล้วมันไม่ error อ่ะคับ
|
|
|
|
|
Date :
20 เม.ย. 2548 14:56:06 |
By :
nut_t02 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
พี่ +30
mktime($datetime[4],$datetime[5],$datetime[6],$datetime[2],$datetime[3],$datetime[1]+30));
มันได้นะ
แต่ถ้าบวกตั้งแต่ 31 ขึ้นไป
windows จะ Error Funtion
Warning: mktime(): Windows does not support negative values for this function
ตามไปหาที่ www.php.net แล้วนะเนี้ยคงจะมีแต่อ่านยังไม่เจอ(ต้องใช้เวลาแปล En หน่อย)
|
|
|
|
|
Date :
21 เม.ย. 2548 12:52:47 |
By :
ikob |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
<?php
function DateThai($strDate)
{
$strYear = date("Y",strtotime($strDate))+543;
$strMonth= date("n",strtotime($strDate));
$strDay= date("j",strtotime($strDate));
$strHour= date("H",strtotime($strDate));
$strMinute= date("i",strtotime($strDate));
$strSeconds= date("s",strtotime($strDate));
$strMonthCut = Array("","ม.ค.","ก.พ.","มี.ค.","เม.ย.","พ.ค.","มิ.ย.","ก.ค.","ส.ค.","ก.ย.","ต.ค.","พ.ย.","ธ.ค.");
$strMonthThai=$strMonthCut[$strMonth];
return "$strDay $strMonthThai $strYear, $strHour:$strMinute";
}
$strDate = "2008-08-14 13:42:44";
echo "ThaiCreate.Com Time now : ".DateThai($strDate);
?>
|
|
|
|
|
Date :
2009-04-26 11:03:58 |
By :
webmaster |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณมากๆครับ
|
|
|
|
|
Date :
2009-08-06 06:56:41 |
By :
กิ๊ก |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 05
|