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,038

HOME > PHP > PHP Forum > รบกวนสอบถามครับ เรื่องการแปลงวันที่จาก DB มาแสดงผลครับ โดยใช้ substr


[PHP] รบกวนสอบถามครับ เรื่องการแปลงวันที่จาก DB มาแสดงผลครับ โดยใช้ substr

 
Topic : 136325



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



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



แสดงวันที่
ผมใช้รูปแบบ แสดง กรณีไม่รับมาจาก DB date(j-n-Y);


ประกอบ
แล้วส่วนอันนี้คือส่วนที่ดึงขึ้นมาแสดงครับ

อยากทราบว่า ถ้าภาพที่ 2 ผมต้องใช้วิธีไหนให้มันแสดง วันที่ เดือน ปี สมมติ จาก 01-05-2564 ไปเป็น 1-5-2564
ผมลองใช้ substr แล้ว มีปัญหา กรณีเดือน ที่ 10 11 12 เดือนที่ 10 11 12 มันจะตัดเลขข้างหน้า มีวิธีไหน หรือใช้ฟังก์ชั่นไหนได้บ้างครับ ขอลิ้งตัวอย่างก้ได้ครับ

ขอบพระคุณครับ



Tag : PHP

Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2021-08-09 21:18:48 By : gmgo View : 698 Reply : 10
 

 

No. 1



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



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


Pseudo month
if month < 10 : do substr else : do nothing


Pseudo day
if day < 10 : do substr else : do nothing

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-08-09 21:33:06 By : TheGreatGod_of_Death
 

 

No. 2



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



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


ตอบความคิดเห็นที่ : 1 เขียนโดย : TheGreatGod_of_Death เมื่อวันที่ 2021-08-09 21:33:06
รายละเอียดของการตอบ ::
โอ้ จิงด้วยครับใช้ if check 555 ขอบคุณมากครับ เห็นโค้ดถึงบางอ้อครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-08-09 21:44:05 By : gmgo
 

 

No. 3



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



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


Alternative solutions to substr function are:
01.// method 1
02.$str = "10"; // "09"
03.$str = ltrim($str, "0");        
04.echo "Method 1 : ", $str, "<hr>";
05. 
06.// method 2
07.$str = "31"; // "01"
08.$str = (string)((int)($str));
09.echo "Method 2 : ", $str;



ประวัติการแก้ไข
2021-08-09 21:45:26
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-08-09 21:44:56 By : TheGreatGod_of_Death
 

 

No. 4



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



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


ตอบความคิดเห็นที่ : 3 เขียนโดย : TheGreatGod_of_Death เมื่อวันที่ 2021-08-09 21:44:56
รายละเอียดของการตอบ ::
ltrim($str, "0"); เพิ่งรู้จิงๆครับว่ามีตัวนี้คับขอบคุณผม

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-08-09 21:50:33 By : gmgo
 

 

No. 5



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



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



แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-08-09 21:51:18 By : TheGreatGod_of_Death
 

 

No. 6



โพสกระทู้ ( 4,765 )
บทความ ( 8 )



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


แปลง พ.ศ. เป็น พ.ศ.อีกรูปแบบ??

https://www.thaicreate.com/php/forum/136251.html
กระทู้นี้ก็เคยแนะนำไปแล้วไม่ใช่เหรอเรื่องรูปแบบการเก็บข้อมูลวันที่เนี่ย
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-08-09 23:21:11 By : mr.v
 

 

No. 7



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



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


แจก tool function เล็กๆ เพื่อจะเป็นประโยชน์

Code (PHP)
001.define('ctime', time());
002.function js_1($array){ return json_encode($array,  JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE | JSON_NUMERIC_CHECK); }
003.function js_2($array){ return json_encode($array,  JSON_UNESCAPED_SLASHES | JSON_NUMERIC_CHECK); }
004.function js_3($array){ return json_encode($array,  JSON_UNESCAPED_SLASHES ); }
005.function js_encode($array){ return json_encode($array,  JSON_UNESCAPED_UNICODE | JSON_NUMERIC_CHECK); }
006.function doCurl($url) {
007.  $ch = curl_init();
008.  curl_setopt($ch, CURLOPT_URL, $url);
009.  curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
010.  $data = json_decode(curl_exec($ch), true);
011.  curl_close($ch);
012.  return $data;
013.}
014.////////////////////////////////////////////
015.function en_month($m, $opt='full'){ // เดือน อังกฤษ
016.    if($opt=='full'){
017.        return array('',
018.            'January','Febuary','March','April','May','June'
019.            ,'July','August','Septempber','October','November','December'
020.        )[$m*1];
021.    }else{
022.        return array('','Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec')[$m*1];
023.    }
024.}
025.function th_month($m, $opt='full'){ // เดือนไทย
026.    if($opt=='full'){
027.        return array('',
028.            'มกราคม','กุมภาพันธ์','มีนาคม','เมษายน','พฤษภาคม','มิถุนายน'
029.            ,'กรกฎาคม','สิงหาคม','กันยายน','ตุลาคม','พฤศจิกายน','ธันวาคม'
030.        )[$m*1];
031.    }else{
032.        return array('','ม.ค.','ก.พ.','มี.ค.','เม.ย.','พ.ค.','มิ.ย.','ก.ค.','ส.ค.','ก.ย.','ต.ค.','พ.ย.','ธ.ค.')[$m*1];
033.    }
034.}
035.function th_day($d, $opt='full'){ // วันไทย
036.    if($opt=='full'){
037.        return array('อาทิตย์','จันทร์','อังคาร','พุธ','พฤหัสบดี','ศุกร์','เสาร์')[$d];
038.    }else{
039.        return array('อ.','จ.','อ.','พ.','พฤ.','ศ.','ส.')[$d];
040.    }
041.}
042.function th_d_m($dte,$opt='full'){ // ไทย วัน เดือน
043.    if(($dte = date('Y-m-d', strtotime($dte)))){
044.        return (substr($dte,-2)*1) . ' ' . th_month( substr($dte, 5 , 2), $opt);
045.    }return '';
046.}
047.function dmy2ymd($o){
048.    $d = DateTime::createFromFormat('j/m/Y', $o);
049.    return $d->format('Y-m-d');
050.}
051.function ymd2dmy($o){
052.    $d = DateTime::createFromFormat('Y-m-d', $o);
053.    return $d->format('d/m/Y');
054.}
055.function dte_th_2_en($th){
056.    list($d,$m,$y)=explode('-',$th); return date('Y-m-d', mktime(0,0,0,$m,$d,$y-543));
057.}
058.function dte_en_2_th($en,$op='short'){
059.    list($y,$m,$d)=explode('-',$en); $y+=543; $w=date('w',strtotime($en));
060.    if($op == 'short'){ return $d.'-'.$m.'-'.$y;}
061.    if($op == 'long'){ return th_d_m($en).' พ.ศ.'.$y;}
062.    if($op == 'full-short'){ return th_day($w,'short').' '.th_d_m($en,'short').' '.$y;}
063.    if($op == 'full-long'){ return th_day($w).'ที่ '.th_d_m($en).' พ.ศ.'.$y;}
064.}
065.function datetime_en_2_th($en,$op='short',$time_op='short'){
066.    list($d,$t)=explode(' ',urldecode($en));
067.    return dte_en_2_th($d,$op).' '.($time_op=='short'? substr($t,0,5) : $t);
068.}
069.function next_due($d, $last){ // function เฉพาะกิจ ประยุกต์ใช้เอาเอง
070.    $dtd=explode('-',$last);
071.    $yn=mktime(0, 0, 0, $dtd[1]+2, 0, $dtd[0]);
072.    $ym=mktime(0,0,0,$dtd[1]+1, $d,$dtd[0]);
073.    return date('Y-m-d', ($ym>$yn? $yn : $ym));
074.}
075.function isDate($d,&$m=null){
076.    if(!preg_match('/^(\d{4})-(\d{2})-(\d{2})/',$d, $m)) return false;
077.    if($m[1]<1700 || ($m[2]*1)<1 || ($m[2]*1)>12 || $m[3]<1){ return false; }
078.    return true;
079.}
080.function isDateTime($d){
081.    return preg_match('/^\d{4}(-\d{2}){2} \d{2}(:\d{2}){1,2}$/', $d);
082.}
083.function DateGMT($d){return date('D, d M Y H:i:s T', $d);}
084.function WgisA($d){return date('D, d/m/Y g:i:s A', $d);}
085.function WgiA($d){return date('D, d/m/Y g:i A', $d);}
086.function isThDate($d,&$ar=null){ return preg_match('/^(\d{2})[\/-](\d{2})[\/-](\d{4})/',$d, $ar);}
087.function isDMY($d,&$ar=null){ return preg_match('/^(\d{2})[\/-](\d{2})[\/-](\d{4})/',$d, $ar);}
088.function dmy($dte){ return preg_replace('/(\d{4})[\/-](\d{2})[\/-](\d{2})/','$3/$2/$1',$dte);}
089.function age($dt,$tg){ // หาอายุ ปี เดือน วัน
090.    $XX = strtotime($dt); $xy = date('Y',$XX); $xm = date('m',$XX); $xd = date('d',$XX);
091.    $YY = strtotime($tg); $yy = date('Y',$YY); $ym = date('m',$YY); $yd = date('d',$YY);
092.    if( $XX < $YY){
093.        $y = $yy - $xy; $m = $ym-$xm; $d = $yd - $xd;
094.        if($ym<$xm){ $y--; $m+=12; if( $yd<$xd){ $d+=30; $m++;}
095.        }else if($ym>$xm){ if($yd<$xd){ $d+=30; $m--; }
096.        }else if($yd<$xd){ $y--; $m=11; $d+=30; }
097.    }else{
098.        $y = $xy - $yy; $m = $xm-$ym; $d = $xd - $yd;
099.        if($xm<$ym){ $y--; $m+=12; if( $xd<$yd){ $d+=30; $m++;}
100.        }else if($xm>$ym){ if($xd<$yd){ $d+=30; $m--; }
101.        }else if($xd<$yd){ $y--; $m=11; $d+=30; }
102.    }
103.    return (object)['Y'=>$y, 'M'=>$m, 'D'=>$d];
104.}
105. 
106.function ago($dt,$tg){ // หา วัน เวลา ที่ผ่านมา
107.    $XX = strtotime($dt);
108.    $YY = strtotime($tg);
109.    if( $XX < $YY){
110.        $sec = $YY - $XX;
111.    }else{
112.        $sec = $XX - $YY;
113.    }
114.    $min = floor($sec / 60); $sec -= $min * 60;
115.    $hou = floor($min / 60); $min -= $hou * 60;
116.    $day = floor($hou / 24); $hou -= $day * 24;
117.    return $day.'day '.$hou.'hrs '.$min.'mins';
118.}
119. 
120.function isPsw($txt){ // ตรวจสอบ password strength 0 - 8
121.    $strength = 0;
122.    if(strlen($txt)>7){
123.        $strength += preg_match('/([a-z](.*?)[a-z]|[a-z]{2})/',$txt)? 1:0;
124.        $strength += preg_match('/([A-Z](.*?)[A-Z]|[A-Z]{2})/',$txt) ?1:0;
125.        $strength += preg_match('/([0-9](.*?)[0-9]|[0-9]{2})/',$txt) ?1:0;
126.        $strength += preg_match('/([$@#&!](.*?)[$@#&!]|[$@#&!]{2})/',$txt) ?1:0;
127.        $strength += preg_match('/[a-z]/',$txt) ?1:0;
128.        $strength += preg_match('/[A-Z]/',$txt) ?1:0;
129.        $strength += preg_match('/[0-9]/',$txt) ?1:0;
130.        $strength += preg_match('/[$@#&!]/',$txt) ?1:0;
131.    }
132.    return $strength;
133.}
134.function isEmail($e){
135.    return preg_match('/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/',$e);
136.};
137.function at(){ // ไว้ใช้ต่อท้าย ไฟล์
138.    return '?at='.ctime;
139.}

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-08-10 06:44:33 By : Chaidhanan
 

 

No. 8



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



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


ตอบความคิดเห็นที่ : 6 เขียนโดย : mr.v เมื่อวันที่ 2021-08-09 23:21:11
รายละเอียดของการตอบ ::
ใช่ครับ ผมกลับมาเก็บเป็น Date แล้วครับ จากเดิม เก็บแบบ Varchar มันไม่เวิกครับ มีปัญหาตอนทำ เสริจช แบบ between เลยกลับมาเก็บแบบถูกต้องเอาครับ เก็บเป็นปี คศ ส่วนการแสดงผล มาเข้าฟังก์ชั้น Subsrt +543 เอาครับ แต่ติดปัญหาเลข 0 นำหน้าแค่นั้นตอนนี้ได้แล้วครับ ขอบคุณมากครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-08-12 20:45:18 By : gmgo
 

 

No. 9



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



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


ตอบความคิดเห็นที่ : 7 เขียนโดย : Chaidhanan เมื่อวันที่ 2021-08-10 06:44:33
รายละเอียดของการตอบ ::
อันนี้เต็มรูปแบบเลยครับ ขอบคุณมากครับ ขอเก็บไว้เลยครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-08-12 20:48:21 By : gmgo
 

 

No. 10



โพสกระทู้ ( 4,765 )
บทความ ( 8 )



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


ผมมีทำ class วันที่ไทยเอาไว้ เหมาะกับพวกค่าที่เป็น timestamp หรือวันที่ปีสากลที่จะแปลงเป็น timestamp ได้ง่ายๆก่อนใช้

https://github.com/Rundiz/thai-date

Code (PHP)
1.echo thaidate('วันlที่ j F พ.ศ.Y เวลาH:i:s', strtotime($dateYmdHis));
2.// ตัวอย่าง วันพฤหัสบดีที่ 12 พฤศจิกายน พ.ศ.2558 เวลา18:55:29

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-08-13 08:04:55 By : mr.v
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : รบกวนสอบถามครับ เรื่องการแปลงวันที่จาก DB มาแสดงผลครับ โดยใช้ substr
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)





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