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 > รบกวนสอบถามครับ เรื่องการแปลงวันที่จาก DB มาแสดงผลครับ โดยใช้ substr



 

รบกวนสอบถามครับ เรื่องการแปลงวันที่จาก 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 : 635 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:
// method 1
$str = "10"; // "09"
$str = ltrim($str, "0");         
echo "Method 1 : ", $str, "<hr>";

// method 2
$str = "31"; // "01"
$str = (string)((int)($str));
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,756 )
บทความ ( 8 )



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


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

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


 

No. 7



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



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


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

Code (PHP)
define('ctime', time());
function js_1($array){ return json_encode($array,  JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE | JSON_NUMERIC_CHECK); }
function js_2($array){ return json_encode($array,  JSON_UNESCAPED_SLASHES | JSON_NUMERIC_CHECK); }
function js_3($array){ return json_encode($array,  JSON_UNESCAPED_SLASHES ); }
function js_encode($array){ return json_encode($array,  JSON_UNESCAPED_UNICODE | JSON_NUMERIC_CHECK); }
function doCurl($url) {
  $ch = curl_init();
  curl_setopt($ch, CURLOPT_URL, $url);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  $data = json_decode(curl_exec($ch), true);
  curl_close($ch);
  return $data;
}
////////////////////////////////////////////
function en_month($m, $opt='full'){ // เดือน อังกฤษ
    if($opt=='full'){
        return array('',
            'January','Febuary','March','April','May','June'
            ,'July','August','Septempber','October','November','December'
        )[$m*1];
    }else{
        return array('','Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec')[$m*1];
    }
}
function th_month($m, $opt='full'){ // เดือนไทย
    if($opt=='full'){
        return array('',
            'มกราคม','กุมภาพันธ์','มีนาคม','เมษายน','พฤษภาคม','มิถุนายน'
            ,'กรกฎาคม','สิงหาคม','กันยายน','ตุลาคม','พฤศจิกายน','ธันวาคม'
        )[$m*1];
    }else{
        return array('','ม.ค.','ก.พ.','มี.ค.','เม.ย.','พ.ค.','มิ.ย.','ก.ค.','ส.ค.','ก.ย.','ต.ค.','พ.ย.','ธ.ค.')[$m*1];
    }
}
function th_day($d, $opt='full'){ // วันไทย
    if($opt=='full'){
        return array('อาทิตย์','จันทร์','อังคาร','พุธ','พฤหัสบดี','ศุกร์','เสาร์')[$d];
    }else{
        return array('อ.','จ.','อ.','พ.','พฤ.','ศ.','ส.')[$d];
    }
}
function th_d_m($dte,$opt='full'){ // ไทย วัน เดือน
    if(($dte = date('Y-m-d', strtotime($dte)))){
        return (substr($dte,-2)*1) . ' ' . th_month( substr($dte, 5 , 2), $opt);
    }return '';
}
function dmy2ymd($o){ 
	$d = DateTime::createFromFormat('j/m/Y', $o);
	return $d->format('Y-m-d');
}
function ymd2dmy($o){
	$d = DateTime::createFromFormat('Y-m-d', $o);
	return $d->format('d/m/Y');
}
function dte_th_2_en($th){
	list($d,$m,$y)=explode('-',$th); return date('Y-m-d', mktime(0,0,0,$m,$d,$y-543));
}
function dte_en_2_th($en,$op='short'){
    list($y,$m,$d)=explode('-',$en); $y+=543; $w=date('w',strtotime($en));
    if($op == 'short'){ return $d.'-'.$m.'-'.$y;}
    if($op == 'long'){ return th_d_m($en).' พ.ศ.'.$y;}
    if($op == 'full-short'){ return th_day($w,'short').' '.th_d_m($en,'short').' '.$y;}
    if($op == 'full-long'){ return th_day($w).'ที่ '.th_d_m($en).' พ.ศ.'.$y;}
}
function datetime_en_2_th($en,$op='short',$time_op='short'){
	list($d,$t)=explode(' ',urldecode($en));
	return dte_en_2_th($d,$op).' '.($time_op=='short'? substr($t,0,5) : $t);
}
function next_due($d, $last){ // function เฉพาะกิจ ประยุกต์ใช้เอาเอง
    $dtd=explode('-',$last);
    $yn=mktime(0, 0, 0, $dtd[1]+2, 0, $dtd[0]);
    $ym=mktime(0,0,0,$dtd[1]+1, $d,$dtd[0]);
    return date('Y-m-d', ($ym>$yn? $yn : $ym));
}
function isDate($d,&$m=null){
	if(!preg_match('/^(\d{4})-(\d{2})-(\d{2})/',$d, $m)) return false;
	if($m[1]<1700 || ($m[2]*1)<1 || ($m[2]*1)>12 || $m[3]<1){ return false; }
	return true;
}
function isDateTime($d){
	return preg_match('/^\d{4}(-\d{2}){2} \d{2}(:\d{2}){1,2}$/', $d);
}
function DateGMT($d){return date('D, d M Y H:i:s T', $d);}
function WgisA($d){return date('D, d/m/Y g:i:s A', $d);}
function WgiA($d){return date('D, d/m/Y g:i A', $d);}
function isThDate($d,&$ar=null){ return preg_match('/^(\d{2})[\/-](\d{2})[\/-](\d{4})/',$d, $ar);}
function isDMY($d,&$ar=null){ return preg_match('/^(\d{2})[\/-](\d{2})[\/-](\d{4})/',$d, $ar);}
function dmy($dte){ return preg_replace('/(\d{4})[\/-](\d{2})[\/-](\d{2})/','$3/$2/$1',$dte);}
function age($dt,$tg){ // หาอายุ ปี เดือน วัน
	$XX = strtotime($dt); $xy = date('Y',$XX); $xm = date('m',$XX); $xd = date('d',$XX);
	$YY = strtotime($tg); $yy = date('Y',$YY); $ym = date('m',$YY); $yd = date('d',$YY);
	if( $XX < $YY){
		$y = $yy - $xy; $m = $ym-$xm; $d = $yd - $xd;
		if($ym<$xm){ $y--; $m+=12; if( $yd<$xd){ $d+=30; $m++;}
		}else if($ym>$xm){ if($yd<$xd){ $d+=30; $m--; }
		}else if($yd<$xd){ $y--; $m=11; $d+=30; }
	}else{
		$y = $xy - $yy; $m = $xm-$ym; $d = $xd - $yd;
		if($xm<$ym){ $y--; $m+=12; if( $xd<$yd){ $d+=30; $m++;}
		}else if($xm>$ym){ if($xd<$yd){ $d+=30; $m--; }
		}else if($xd<$yd){ $y--; $m=11; $d+=30; }
	}
	return (object)['Y'=>$y, 'M'=>$m, 'D'=>$d];
}

function ago($dt,$tg){ // หา วัน เวลา ที่ผ่านมา
	$XX = strtotime($dt);
	$YY = strtotime($tg);
	if( $XX < $YY){
		$sec = $YY - $XX; 
	}else{
		$sec = $XX - $YY;
	}
	$min = floor($sec / 60); $sec -= $min * 60;
	$hou = floor($min / 60); $min -= $hou * 60;
	$day = floor($hou / 24); $hou -= $day * 24;
	return $day.'day '.$hou.'hrs '.$min.'mins'; 
}

function isPsw($txt){ // ตรวจสอบ password strength 0 - 8
	$strength = 0;
	if(strlen($txt)>7){
		$strength += preg_match('/([a-z](.*?)[a-z]|[a-z]{2})/',$txt)? 1:0;
		$strength += preg_match('/([A-Z](.*?)[A-Z]|[A-Z]{2})/',$txt) ?1:0;
		$strength += preg_match('/([0-9](.*?)[0-9]|[0-9]{2})/',$txt) ?1:0;
		$strength += preg_match('/([$@#&!](.*?)[$@#&!]|[$@#&!]{2})/',$txt) ?1:0;
		$strength += preg_match('/[a-z]/',$txt) ?1:0;
		$strength += preg_match('/[A-Z]/',$txt) ?1:0;
		$strength += preg_match('/[0-9]/',$txt) ?1:0;
		$strength += preg_match('/[$@#&!]/',$txt) ?1:0;
	}
	return $strength;
}
function isEmail($e){ 
	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);
};
function at(){ // ไว้ใช้ต่อท้าย ไฟล์
	return '?at='.ctime;
}


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
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,756 )
บทความ ( 8 )



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


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

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

Code (PHP)
echo thaidate('วันlที่ j F พ.ศ.Y เวลาH:i:s', strtotime($dateYmdHis));
// ตัวอย่าง วันพฤหัสบดีที่ 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 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







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

Load balance : Server 04
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 อัตราราคา คลิกที่นี่