แจกฟังก์ชั่นแปลง ปี-เดือน-วัน เป็น ผ่านมาแล้ว กี่วัน กี่ชั่วโมง กี่นาที กี่วินาที
พอดีวันนี้เขียนโปรแกรม ๆหนึ่ง ที่ต้องแสดง วันที่สร้าง และวันที่อัปเดต รายการ ซึ่งผมเก็บลงฐานข้อมูลในรูปแบบ 2008-01-31 12:10:21
เมื่อผมนำรายการมาแสดง มันจะเป็นแบบนี้
| หัวข้อ | create | modify |
|---|---|---|
| รายงานจำนวนงานถ่วงล้อ | 2008-05-13 12:00:01 | 2008-05-20 00:10:30 |
| รายงานยอดเจียรจานดิสก์เบรกหลัง | 2008-05-13 11:51:42 |
วันที่สร้าง ก็เป็นอย่างที่เห็น วันที่อัปเดต ก็เป็นอย่างที่เห็น ดูยากเนอะ ก็เลยมีความคิดแว้บขึ้นมา เปลี่ยนวันที่แก้ไข จากอย่างที่เห็น ให้เป็น
| หัวข้อ | create | modify |
|---|---|---|
| รายงานจำนวนงานถ่วงล้อ | 2008-05-13 12:00:01 | 1 วัน 10ชั่วโมง 5นาที 20 วินาที ผ่านมา |
| รายงานยอดเจียรจานดิสก์เบรกหลัง | 2008-05-13 11:51:42 |
ดูง่ายกว่าเย้อะะะะ…
ว่าแล้วก็ลงมือเขียนฟังก์ชั่น ผลก็ออกมาอย่างที่เห็นด้านล่างแหล่ะครับ
<?php
/**
* Convert date
*
* @author platoosom
* @email platoosom@hotmail.com
* @created 2008-06-04 11:15
* @modified 2008-06-04 11:15
*
* input : array( ‘begin’=>date/datetime , ‘end’=>date/datetime )
* output : string
*/
if( ! function_exists( ‘compare_date’ ) ){
function compare_date( $array ){
if( ! is_array( $array ) ){ return ”;}
if( ( ! array_key_exists( ‘begin’ , $array )) || empty( $array['begin'] )){ return ”;}
if( ( ! array_key_exists( ‘end’ , $array )) || empty( $array['end'] )){ return ”;}
$begin_time = strtotime( $array['begin'] );
$end_time = strtotime( $array['end'] );
$amount_time = $end_time – $begin_time ;
$list = array(
‘day’=>array( ‘วัน’ , ’86400′ ) ,
‘hour’=>array( ‘ชั่วโมง’ , ’3600′ ) ,
‘munite’=>array( ‘นาที’ , ’60′ ) ,
‘second’=>array( ‘วินาที’ , ’1′ )
);
foreach( $list as $value ):
$result = floor( $amount_time / $value[1] );
if( $result > 0 ){ $return[] = $result; $return[] = $value[0]; }
$amount_time = $amount_time % $value[1];
endforeach;
return implode( ‘ ‘ , $return ).‘ ผ่านมา’;
}
}
?>
วิธีเรียกใช้งาน จะส่ง ปี-เดือน-วัน เข้าไปอย่างเดียว หรือว่าส่ง ปี-เดือน-วัน ชั่วโมง:นาที:วินาที เข้าไปก็ได้ครับผม
<?php
echo compare_date( array( ‘begin’=>’2008-01-31 10:10:10′,’end’=>’2008-02-01 20:11:30′ ) );
echo compare_date( array(‘begin’=>’2008-01-31′,’end’=>’2008-02-01′));
echo compare_date( array(‘begin’=>’2008-01-31′,’end’=>date( ‘Y-m-d H:i:s’ ) ));
?>
บทความน่าสนใจ
- PHP การส่งค่าตัวแปรเข้าไปในฟังก์ชั่นแบบใช้ array
- เลือกเอาเฉพาะค่าที่เหมือนกันใน Array
- ลบค่าที่ซ้ำกันใน Array ทิ้ง
- PHP date() ฟังก์ชั่นจัดการวัน-เวลา
- ต่อเนื่องจาก ฟังก์ชั่นสำหรับแปลง ตัวเลขเดือน เป็นตัวหนังสือ
Log In
Categories
- 1 week 1 Source (2)
- AppServ (10)
- Array (2)
- Codeigniter (1)
- Computer (7)
- CSS (9)
- Dreamweaver (7)
- Firefox (7)
- Form (2)
- FPDF (15)
- General (31)
- HTML (2)
- Javascript (6)
- jQuery (86)
- Mac (10)
- MySQL (15)
- Navicat (9)
- Other (58)
- PHP (97)
- PHP-function (12)
- Program (8)
- SMF (15)
- SQL (20)
- Theme (1)
- TinyMCE (7)
- webservice (1)
- Wordpress (18)
- คอมฯ ทั่วไป (6)
-
Recent Posts
- akismet ปลักอินกรองแสปมของเวิร์ดเพรส
- WP-CMS Post Control ปลักอินสำหรับซ่อนสิ่งที่ไม่ต้องการในเวิร์ดเพรส
- wordpress flickr manager ปลักอินสำหรับอัปโหลดภาพเก็บที่ flickr
- picpick โปรแกรมที่เว็บโปรแกรมเมอร์ต้องมีไว้ติดเครื่อง
- ขอความเห็น
- todoist โปรแกรมจดรายการสิ่งที่ต้องทำสุดเจ๋ง
- wordpress google xml sitemap หนึ่งในปลักอินที่ท่านต้องติดตั้ง
- แนะนำเว็บให้ความรู้การเขียนโปรแกรมโคตะระเด็ด
- โปรแกรมจดรายการสิ่งที่จะต้องทำ
- แจกภาพปุ่มเอาไปตกแต่งเว็บ
- วิธีสร้างเว็บให้ติดอันดับหนึ่ง
- wordpress ปิงผู้ปิดทองหลังพระ
- วิธีเปิด notepad อย่างรวดเร็ว
- วิธีดึงข้อมูลออกจากฐานข้อมูลของเวิร์ดเพรส แบบสุ่ม
- หารายละเอียดโดเมน
Tags
AppServ Array Back to the basic bug calendar CAPTCHA chart CSS Dreamveawer eclipse error firebug Firefox firefox plugin FPDF General google helios HTML icons Javascript jQuery jquery plugin jquery slide jQuery tutorial jQuery UI Mac MySQL Other pdt PHP phpmailer programming slide slide show SMF smf themes smf themes download smf themes free smf themes thai SQL sql function tooltip Wordpress wordpress plugin
แสดงความเห็น