Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > PHP > PHP Forum > ช่วยดูโค้ดฟังก์เวลาไทยแสดงเวลาไม่ถูกต้องครับ แก้ไม่ตกจริงๆครับ



 

ช่วยดูโค้ดฟังก์เวลาไทยแสดงเวลาไม่ถูกต้องครับ แก้ไม่ตกจริงๆครับ

 



Topic : 110295



โพสกระทู้ ( 86 )
บทความ ( 0 )



สถานะออฟไลน์
Twitter Facebook Hi5



ผมเวลาในรูปแบบของ TIMESTAMP แต่พอเขียนฟังก์ชันเวลามันแสดงไม่ตรงครับ

time

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







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2014-07-29 08:43:40 By : maisurin View : 1086 Reply : 10
 

 

No. 1



โพสกระทู้ ( 2,311 )
บทความ ( 1 )



สถานะออฟไลน์


มันก็สามารถทำงานได้ปกตินะครับ
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
 


 

No. 2



โพสกระทู้ ( 2,311 )
บทความ ( 1 )



สถานะออฟไลน์


ผมรู้ละครับ ทำไมคุณถึงได้ผลลัพธ์ วันพฤหัส ที่ 1 เดือน พ.ศ. 2513 เพราะคุณไม่ได้ใส่ค่า ระบุค่าให้กับฟังก์ชั่น ต้องเช็คว่าค่าที่โยนให้ฟังก์ชั่นไปประมวลผลนั้นถูกต้องหรือไม่
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-07-29 09:41:19 By : arm8957
 

 

No. 3



โพสกระทู้ ( 10 )
บทความ ( 0 )



สถานะออฟไลน์


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
 


 

No. 4



โพสกระทู้ ( 2,311 )
บทความ ( 1 )



สถานะออฟไลน์


เอ้อ ลืมไปเดือนนี้มันเดือนกรกฎานี่หว่า 555+
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-07-29 10:23:41 By : arm8957
 


 

No. 5



โพสกระทู้ ( 86 )
บทความ ( 0 )



สถานะออฟไลน์
Twitter Facebook Hi5

ตอบความคิดเห็นที่ : 3 เขียนโดย : ninja.ooioo เมื่อวันที่ 2014-07-29 10:20:02
รายละเอียดของการตอบ ::
ทำตามที่บอกแล้วครับแต่ผลลัพธ์คือ

วันพฤหัส ที่ 1 เดือนมกรามก พ.ศ. 2513

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-07-29 11:19:42 By : maisurin
 


 

No. 6



โพสกระทู้ ( 10 )
บทความ ( 0 )



สถานะออฟไลน์


ลองอันนี้ดู ผมใช้การ 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
 


 

No. 7



โพสกระทู้ ( 361 )
บทความ ( 1 )



สถานะออฟไลน์


ลองแล้วใช้ได้ปกติ
เวลา echo ใส่แบบนี้ป่าว echo ThaiDatee('date') ถ้าแบบนี้ไม่ได้นะ

1

ต้อง echo ThaiDatee($row['date'])

2

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
 


 

No. 8



โพสกระทู้ ( 9,586 )
บทความ ( 2 )



สถานะออฟไลน์


เอาบันทัดที่โยนค่าเข้า ฟังก์ชั่นมาดูครับ ฟังก์ชั่นมันทำงานได้
ก็แสดงว่า โยนค่าให้ฟังก์ชั่นไม่ถูกครับ เช็คให้ถูกครับว่าใส่อะไรเข้าไปใน ฟังก์ชั่น
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-07-29 21:15:06 By : Chaidhanan
 


 

No. 9



โพสกระทู้ ( 2,258 )
บทความ ( 5 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook Hi5 Blogger

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
 


 

No. 10



โพสกระทู้ ( 86 )
บทความ ( 0 )



สถานะออฟไลน์
Twitter Facebook Hi5

ผมดูเวลาที่ถูกส่งเข้าในฐานข้อมูลตรงกับในเครื่องเลยครับ
แต่แสดงแบบปกติก็จะได้เวลาทั่วไปแต่พอเอาฟังก์ชันลงไปแสดงค่าไม่ตรงครับ

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
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ช่วยดูโค้ดฟังก์เวลาไทยแสดงเวลาไม่ถูกต้องครับ แก้ไม่ตกจริงๆครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 00
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่