|
|
|
ช่วยดูโค้ดฟังก์เวลาไทยแสดงเวลาไม่ถูกต้องครับ แก้ไม่ตกจริงๆครับ |
|
|
|
|
|
|
|
ผมเวลาในรูปแบบของ TIMESTAMP แต่พอเขียนฟังก์ชันเวลามันแสดงไม่ตรงครับ
Code (PHP)
function ThaiDatee($day)
{
$ThDay = array ( "อาทิตย์", "จันทร์", "อังคาร", "พุธ", "พฤหัส", "ศุกร์", "เสาร์" );
$ThMonth = array ("","มกรามก", "กุมภาพันธ์", "มีนาคม", "เมษายน",
"พฤษภาคม", "มิถุนายน", "กรกฏาคม", "สิงหาคม",
"กันยายน", "ตุลาคม", "พฤศจิกายน", "ธันวาคม" );
$a = date( "w" ,strtotime($day));
$b = date( "n" ,strtotime($day))-1;
$c = date( "j" ,strtotime($day));
$d = date( "Y" ,strtotime($day))+543;
return "วัน$ThDay[$a] ที่ $c เดือน$ThMonth[$b] พ.ศ. $d ";
}
Tag : PHP, MySQL
|
|
|
|
|
|
Date :
2014-07-29 08:43:40 |
By :
maisurin |
View :
1086 |
Reply :
10 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
มันก็สามารถทำงานได้ปกตินะครับ
Code (PHP)
<?PHP
function ThaiDatee($day)
{
$ThDay = array ( "อาทิตย์", "จันทร์", "อังคาร", "พุธ", "พฤหัส", "ศุกร์", "เสาร์" );
$ThMonth = array ("","มกรามก", "กุมภาพันธ์", "มีนาคม", "เมษายน",
"พฤษภาคม", "มิถุนายน", "กรกฏาคม", "สิงหาคม",
"กันยายน", "ตุลาคม", "พฤศจิกายน", "ธันวาคม" );
$a = date( "w" ,strtotime($day));
$b = date( "n" ,strtotime($day))-1;
$c = date( "j" ,strtotime($day));
$d = date( "Y" ,strtotime($day))+543;
return "วัน$ThDay[$a] ที่ $c เดือน$ThMonth[$b] พ.ศ. $d ";
}
echo ThaiDatee('2014-07-30 00:00:00');
?>
ผลลัพธ์
|
|
|
|
|
Date :
2014-07-29 09:23:24 |
By :
arm8957 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ผมรู้ละครับ ทำไมคุณถึงได้ผลลัพธ์ วันพฤหัส ที่ 1 เดือน พ.ศ. 2513 เพราะคุณไม่ได้ใส่ค่า ระบุค่าให้กับฟังก์ชั่น ต้องเช็คว่าค่าที่โยนให้ฟังก์ชั่นไปประมวลผลนั้นถูกต้องหรือไม่
|
|
|
|
|
Date :
2014-07-29 09:41:19 |
By :
arm8957 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
function ThaiDatee($day)
{
$ThDay = array ( "อาทิตย์", "จันทร์", "อังคาร", "พุธ", "พฤหัส", "ศุกร์", "เสาร์" );
$ThMonth = array ("","มกรามก", "กุมภาพันธ์", "มีนาคม", "เมษายน",
"พฤษภาคม", "มิถุนายน", "กรกฏาคม", "สิงหาคม",
"กันยายน", "ตุลาคม", "พฤศจิกายน", "ธันวาคม" );
$a = date( "w" ,strtotime($day));
$b = date( "n" ,strtotime($day))-1; //ผมว่าเอา -1 ออก เดือนก็น่าจะตรงแล้วนะ
$c = date( "j" ,strtotime($day));
$d = date( "Y" ,strtotime($day))+543;
return "วัน$ThDay[$a] ที่ $c เดือน$ThMonth[$b] พ.ศ. $d ";
}
|
|
|
|
|
Date :
2014-07-29 10:20:02 |
By :
ninja.ooioo |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เอ้อ ลืมไปเดือนนี้มันเดือนกรกฎานี่หว่า 555+
|
|
|
|
|
Date :
2014-07-29 10:23:41 |
By :
arm8957 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลองอันนี้ดู ผมใช้การ substr เพราะเข้าใจและถนัดแบบนี้นะครับ
อันนี้ก็ไม่แน่ใจเท่าไร(ยังไม่ได้รันดู) ได้รึไม่ ยังไงบอกด้วย
Code (PHP)
$ConServ ="localhost"; // ชื่อ Serv
$ConUser ="root"; // ชื่อผู้ใช้
$ConPass ="1234"; // รหัสผ่าน
$DBNameChk = "ninja_test"; // ชื่อฐานข้อมูล
$QryTIMESTAMP="SELECT DATE_FORMAT(CURRENT_DATE(),'%w/%d/%m/%Y') as Date"; //เลือกวันที่ปัจุบัน
$day; //ประกาศไว้นอก function เพื่อประกาศใช้งานร่วมกัน
if(เงื่อนไขการทำงาน)
{
$connection=mysql_connect($ConServ,$ConUser,$ConPass);
$sql_result=mysql_query($QryTIMESTAMP,$connection);
$F_Date=mysql_fetch_array($sql_result);
$day = $F_Date["Date"];
$DateTH = ThaiDate();
echo $DateTH;
}
function ThaiDate()
{
global $day; //เรียกใช้งานตัวแปรร่วมกัน
$ThDay = array ( "อาทิตย์", "จันทร์", "อังคาร", "พุธ", "พฤหัส", "ศุกร์", "เสาร์" );
$ThMonth = array ("","มกราคม", "กุมภาพันธ์", "มีนาคม", "เมษายน",
"พฤษภาคม", "มิถุนายน", "กรกฏาคม", "สิงหาคม",
"กันยายน", "ตุลาคม", "พฤศจิกายน", "ธันวาคม" );
$strYY = substr($day,-4, 4); // returns year ENG
$strEE = intval($strYY)+543; // returns year TH
$intMM = intval(substr($day,-7,2)); // returns mount
$strDD = substr($day,-10,2); // returns day
$intDDofWeek = intval(substr($day,-12,1)); // returns day of week
/*
$a = date( "w" ,strtotime($day));
$b = date( "n" ,strtotime($day));
$c = date( "j" ,strtotime($day));
$d = date( "Y" ,strtotime($day))+543;
*/
//return "วัน$ThDay[$a] ที่ $c เดือน$ThMonth[$b] พ.ศ. $d ";
return "วัน$ThDay[$intDDofWeek] ที่ $strDD เดือน$ThMonth[$intMM] พ.ศ. $strEE ";
}
ถ้าได้ก้อแสดงว่าเป็นแบบที่คุณ คนธรรมดา ไม่พิเศษ ความคิดเห็นที่ 2 นั้นล่ะครับ
|
ประวัติการแก้ไข 2014-07-29 12:52:37 2014-07-29 13:07:13 2014-07-29 14:38:48
|
|
|
|
Date :
2014-07-29 12:51:19 |
By :
ninja.ooioo |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลองแล้วใช้ได้ปกติ
เวลา echo ใส่แบบนี้ป่าว echo ThaiDatee('date') ถ้าแบบนี้ไม่ได้นะ
ต้อง echo ThaiDatee($row['date'])
Code (PHP)
<?php
// DB connect
$objConnect = mysql_connect("localhost","root","root") or die (mysql_error());
$objDB = mysql_select_db("room") or die("Error Connect to Database");
mysql_query("SET NAMES UTF8");
function ThaiDatee($day)
{
$ThDay = array ( "อาทิตย์", "จันทร์", "อังคาร", "พุธ", "พฤหัส", "ศุกร์", "เสาร์" );
$ThMonth = array ("","มกรามก", "กุมภาพันธ์", "มีนาคม", "เมษายน",
"พฤษภาคม", "มิถุนายน", "กรกฏาคม", "สิงหาคม",
"กันยายน", "ตุลาคม", "พฤศจิกายน", "ธันวาคม" );
$a = date( "w" ,strtotime($day));
$b = date( "n" ,strtotime($day));
$c = date( "j" ,strtotime($day));
$d = date( "Y" ,strtotime($day))+543;
return "วัน$ThDay[$a] ที่ $c เดือน$ThMonth[$b] พ.ศ. $d ";
}
$sql = "SELECT * FROM room_type";
$result = mysql_query($sql);
while($row = mysql_fetch_array($result)){
echo ThaiDatee($row['date'])."<br>";
}
?>
|
ประวัติการแก้ไข 2014-07-29 18:28:02
|
|
|
|
Date :
2014-07-29 18:24:15 |
By :
sabaitip |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เอาบันทัดที่โยนค่าเข้า ฟังก์ชั่นมาดูครับ ฟังก์ชั่นมันทำงานได้
ก็แสดงว่า โยนค่าให้ฟังก์ชั่นไม่ถูกครับ เช็คให้ถูกครับว่าใส่อะไรเข้าไปใน ฟังก์ชั่น
|
|
|
|
|
Date :
2014-07-29 21:15:06 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1. เวลาที่ Server ตรงมั้ยครับ ตรวจสอบหรือยัง?
2. อาจจะเป็นที่ date_default_timezone_set ใน php.ini ครับ ลองหาบรรทัดนี้ แล้วแก้เป็น
date_default_timezone_set('Asia/Bangkok');
แล้ว Restart service apache 1 รอบ
|
|
|
|
|
Date :
2014-07-30 11:49:22 |
By :
Manussawin |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ผมดูเวลาที่ถูกส่งเข้าในฐานข้อมูลตรงกับในเครื่องเลยครับ
แต่แสดงแบบปกติก็จะได้เวลาทั่วไปแต่พอเอาฟังก์ชันลงไปแสดงค่าไม่ตรงครับ
Code (PHP)
$sql = "SELECT *, DATE_FORMAT(end_date, '%w/%d/%m/%Y') AS ndate
FROM item WHERE item_id = $id;";
$result = mysql_query($sql);
if(mysql_num_rows($result) == 0) {
echo "ไม่พบข้อมูลรายการนี้
</td></tr></body></html>";
exit;
}
$item = mysql_fetch_array($result);
Code (PHP)
<b>วันปิดประมูล</b>:". ThaiDatee($item['ndate'])."
|
ประวัติการแก้ไข 2014-08-02 09:03:17
|
|
|
|
Date :
2014-08-02 09:01:35 |
By :
maisurin |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 00
|