ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น

ThaiSEOBoard.comพัฒนาเว็บไซต์Programmingพี่ๆ ครับ ช่วยผม php เรื่องเวลา GMT +5 หน่อยครับ
หน้า: [1]   ลงล่าง
พิมพ์
ผู้เขียน หัวข้อ: พี่ๆ ครับ ช่วยผม php เรื่องเวลา GMT +5 หน่อยครับ  (อ่าน 1210 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
untilate
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 106
ออฟไลน์ ออฟไลน์

กระทู้: 2,310



ดูรายละเอียด
« เมื่อ: 30 กันยายน 2009, 21:49:43 »

คือเว็บที่ผมไปดึงมาเวลามันจะไม่ตรงกับบ้านเราอะครับ คือมันต้อง +5

ซึ่งปัจจุบันผมก็เขียนแบบ

$time = str_replace("01:","06:",$time);
$time = str_replace("02:","07:",$time);
$time = str_replace("03:","08:",$time);
.....
$time = str_replace("10:","15:",$time);
.....
$time = str_replace("20:","01:",$time);
....

เขียนแบบนี้ 24 ครั้ง

ใครมีแนวคิดอื่นที่มันสั่นๆ รบกวนแนะนำผมหน่อยนะครับ
บันทึกการเข้า
payu
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 125
ออฟไลน์ ออฟไลน์

กระทู้: 1,881



ดูรายละเอียด
« ตอบ #1 เมื่อ: 30 กันยายน 2009, 22:57:04 »


โค๊ด:
$time = date('d/m/Y H:i:s', strtotime("+5 hour", strtotime($time)));

บันทึกการเข้า

EThaiZone
เจ้าพ่อโลลิค่อน
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 321
ออฟไลน์ ออฟไลน์

กระทู้: 12,459



ดูรายละเอียด เว็บไซต์
« ตอบ #2 เมื่อ: 30 กันยายน 2009, 23:02:40 »

โค๊ด:
<?php
date_default_timezone_set
('Asia/Bangkok');
?>

เอาไว้ก่อนฟังค์ชั่นอื่นๆ จะทำงาน
ใช้ได้กับทุกโฮส ไม่ต้องสนเรื่องความต่างเวลา
บันทึกการเข้า

untilate
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 106
ออฟไลน์ ออฟไลน์

กระทู้: 2,310



ดูรายละเอียด
« ตอบ #3 เมื่อ: 30 กันยายน 2009, 23:04:56 »


โค๊ด:
$time = date('d/m/Y H:i:s', strtotime("+5 hour", strtotime($time)));



ขอบคุณมากครับ

แต่ว่า ไม่ใช่เวลา่ ที่อยู่ในรูปแบบ php อะครับ เป็นเวลาที่ ใช้ file_get_conntent มา

มันจะอยู่ในรูปแบบ hr:m อะครับ ประมาณว่า

โค๊ด:
ข้อความเมื่อ: วันนี้ เวลา 10:57


ผมก็จะแก้โดยการ +5 ให้เป็น

โค๊ด:
ข้อความเมื่อ: วันนี้ เวลา 15:57


ซึ่งตอนนี้ผมเขียนแบบนี้อยู่

$time = str_replace("01:","06:",$time);
$time = str_replace("02:","07:",$time);
$time = str_replace("03:","08:",$time);
.....
$time = str_replace("10:","15:",$time);
.....
$time = str_replace("20:","01:",$time);

แต่มันต้องเขียนตั้ง 24 ครั้งอะครับ

เลยรบกวนแนะนำแบบที่มันสั่นๆ หน่อยอะครับ
บันทึกการเข้า
untilate
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 106
ออฟไลน์ ออฟไลน์

กระทู้: 2,310



ดูรายละเอียด
« ตอบ #4 เมื่อ: 30 กันยายน 2009, 23:05:57 »

โค๊ด:
<?php
date_default_timezone_set
('Asia/Bangkok');
?>

เอาไว้ก่อนฟังค์ชั่นอื่นๆ จะทำงาน
ใช้ได้กับทุกโฮส ไม่ต้องสนเรื่องความต่างเวลา


หือออ โพสต์ rep บนช้าไปนิดเดียว
บันทึกการเข้า
NongNatty
ก๊วนเสียว
*

พลังน้ำใจ: 21
ออฟไลน์ ออฟไลน์

กระทู้: 255



ดูรายละเอียด เว็บไซต์
« ตอบ #5 เมื่อ: 30 กันยายน 2009, 23:14:54 »

โค๊ด:
date("H:i",strtotime("10:57 +5 hour"));

$time = "10:57";
echo date("H:i",strtotime("{$time} +5 hour"));
« แก้ไขครั้งสุดท้าย: 30 กันยายน 2009, 23:17:43 โดย NongNatty » บันทึกการเข้า

ที่เที่ยวไทย.com : ข้อมูลสถานที่ท่องเที่ยว พาเที่ยว สถานที่ท่องเที่ยวต่างๆ ในประเทศไทย

Hotel Booking Online | Hotel Booking |
ที่พัก
EThaiZone
เจ้าพ่อโลลิค่อน
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 321
ออฟไลน์ ออฟไลน์

กระทู้: 12,459



ดูรายละเอียด เว็บไซต์
« ตอบ #6 เมื่อ: 30 กันยายน 2009, 23:28:11 »

โค๊ด:
<?php

$text 
'ข้อความเมื่อ: วันนี้ เวลา 10:57';

$t_list = array();
for(
$i=0$i<=23$i++) {
$t_list[$i.':'] = ($i+5).':';
}

$replace strtr($text$t_list);

echo 
$replace;

?>
บันทึกการเข้า

ohmohm
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 170
ออฟไลน์ ออฟไลน์

กระทู้: 3,092



ดูรายละเอียด เว็บไซต์
« ตอบ #7 เมื่อ: 30 กันยายน 2009, 23:33:01 »

โค๊ด:
<?php
date_default_timezone_set
('Asia/Bangkok');
?>

เอาไว้ก่อนฟังค์ชั่นอื่นๆ จะทำงาน
ใช้ได้กับทุกโฮส ไม่ต้องสนเรื่องความต่างเวลา

แล้วมันชดเชยเวลาจาก daylight saving ด้วยไหมครับ
บันทึกการเข้า
EThaiZone
เจ้าพ่อโลลิค่อน
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 321
ออฟไลน์ ออฟไลน์

กระทู้: 12,459



ดูรายละเอียด เว็บไซต์
« ตอบ #8 เมื่อ: 30 กันยายน 2009, 23:41:03 »

โค๊ด:
<?php
date_default_timezone_set
('Asia/Bangkok');
?>

เอาไว้ก่อนฟังค์ชั่นอื่นๆ จะทำงาน
ใช้ได้กับทุกโฮส ไม่ต้องสนเรื่องความต่างเวลา

แล้วมันชดเชยเวลาจาก daylight saving ด้วยไหมครับ
ไม่เคยสังเกต แต่ตามหลักมันได้นะครับ
บันทึกการเข้า

untilate
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 106
ออฟไลน์ ออฟไลน์

กระทู้: 2,310



ดูรายละเอียด
« ตอบ #9 เมื่อ: 30 กันยายน 2009, 23:42:33 »

โค๊ด:
<?php

$text 
'ข้อความเมื่อ: วันนี้ เวลา 10:57';

$t_list = array();
for(
$i=0$i<=23$i++) {
$t_list[$i.':'] = ($i+5).':';
}

$replace strtr($text$t_list);

echo 
$replace;

?>

ขอบคุณมากครับได้แล้ว

แต่ถ้าเกิดเป็น 21:30 มันเป็น 26.30 นาฬิกา อะครับ แก้ไงดี
บันทึกการเข้า
EThaiZone
เจ้าพ่อโลลิค่อน
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 321
ออฟไลน์ ออฟไลน์

กระทู้: 12,459



ดูรายละเอียด เว็บไซต์
« ตอบ #10 เมื่อ: 30 กันยายน 2009, 23:55:23 »

โค๊ด:
<?php

$text 
'ข้อความเมื่อ: วันนี้ เวลา 18:57';

$t_list = array();
for(
$i=0$i<=23$i++) {
$t_list[$i.':'] = ($i<19 $i+: ($i+4)%23).':';
}
$replace strtr($text$t_list);

echo 
$replace;

?>

แต่ถ้าไม่อยากให้กินระบบตอนคำนวณเวลา ก็ใช้

โค๊ด:
<?php

$text 
'ข้อความเมื่อ: วันนี้ เวลา 18:57';

$t_list = array(
'0:' => '5:',
'1:' => '6:',
'2:' => '7:',
'3:' => '8:',
'4:' => '9:',
'5:' => '10:',
'6:' => '11:',
'7:' => '12:',
'8:' => '13:',
'9:' => '14:',
'10:' => '15:',
'11:' => '16:',
'12:' => '17:',
'13:' => '18:',
'14:' => '19:',
'15:' => '20:',
'16:' => '21:',
'17:' => '22:',
'18:' => '23:',
'19:' => '0:',
'20:' => '1:',
'21:' => '2:',
'22:' => '3:',
'23:' => '4:'
);
$replace strtr($text$t_list);

echo 
$replace;

?>
บันทึกการเข้า

untilate
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 106
ออฟไลน์ ออฟไลน์

กระทู้: 2,310



ดูรายละเอียด
« ตอบ #11 เมื่อ: 30 กันยายน 2009, 23:56:30 »

โค๊ด:
<?php

$text 
'ข้อความเมื่อ: วันนี้ เวลา 18:57';

$t_list = array();
for(
$i=0$i<=23$i++) {
$t_list[$i.':'] = ($i<19 $i+: ($i+4)%23).':';
}
$replace strtr($text$t_list);

echo 
$replace;

?>

แต่ถ้าไม่อยากให้กินระบบตอนคำนวณเวลา ก็ใช้

โค๊ด:
<?php

$text 
'ข้อความเมื่อ: วันนี้ เวลา 18:57';

$t_list = array(
'0:' => '5:',
'1:' => '6:',
'2:' => '7:',
'3:' => '8:',
'4:' => '9:',
'5:' => '10:',
'6:' => '11:',
'7:' => '12:',
'8:' => '13:',
'9:' => '14:',
'10:' => '15:',
'11:' => '16:',
'12:' => '17:',
'13:' => '18:',
'14:' => '19:',
'15:' => '20:',
'16:' => '21:',
'17:' => '22:',
'18:' => '23:',
'19:' => '0:',
'20:' => '1:',
'21:' => '2:',
'22:' => '3:',
'23:' => '4:'
);
$replace strtr($text$t_list);

echo 
$replace;

?>

+1 ครับ ขอบคุณมากครับ

ขอบคุณพี่ๆ ทุกคน
บันทึกการเข้า
หน้า: [1]   ขึ้นบน
พิมพ์