PDA

View Full Version : تبدیل ساعت گرینویچ به ساعت ایران



yasgig
چهارشنبه 05 اسفند 1388, 12:40 عصر
با سلام
من با استفاده از explode داده زیر رو که ترکیبی از ساعت و تاریخ است جداسازی می کنم:
<?php
$string = "09:00:00 24/02/1010";
$explode_strings = array();
$explode_strings = explode(" ", $string);
echo $explode_strings[1];
?>
همن طور که می بینید پس از جداسازی فقط ساعت رو چاپ می کنم.این ساعت ساعت گرینویچ هستش.حالا چجور می تونم اونو به ساعت رسمی خودمون یعنی +3.5 تبدیل کنم و سپس چاپ کنم.
با تشکر

امید امرایی
چهارشنبه 05 اسفند 1388, 12:46 عصر
این به تنظیمات سرور شما مربوط می شه
با پشتیبان فنی سرویس دهندتون تماس بگیرید
شاید بتونید با یک فلگ براحتی این کار رو از طریق htaccess یا php.ini انجام بدید

guy18iran
چهارشنبه 05 اسفند 1388, 13:39 عصر
حتما نیاز نیست که از طریق php.ini این کار انجام بشه.
برای تبدیل منطقه های زمانی میتونین از کد زیر استفاده کنین که با قرار دادن Asia/Tehran زمان میشه زمان ایران (+3.5).
البته این تابع در نگارش PHP 5.1.0 ارائه شده. :چشمک:

date_default_timezone_set("Asia/Tehran");

البته راه بهتری برای ذخیره سازی زمان توی پایگاه داده وحود داره و اون اینه که از تابع time استفاه بشه. برای مثال:


$date = time();
کد زیر یک عدد صحیح 10 رقمی بر حسب زمان Unix میسازه که میتونین از این عدد 10 رقمی هر اطلاعاتی رو بیرون بکشین.
برای ذخیره اون هم نیازه که توی پایگاه داده یک فیلد Int با طول 10 قرار بدین.

yasgig
چهارشنبه 05 اسفند 1388, 14:29 عصر
ببینید در اصل من 09:00:00 24/02/1010 رو از یه بانک اطلاعاتی می خونم و واسه اینکه کدها طولانی نشه فقط 09:00:00 24/02/1010 رو توی کد بالا قرار دادم.ببینید من 09:00:00 24/02/1010 رو توی بانک اطلاعاتی خودم ذخیره کردم حالا می خواستم وقتی اینو نشون بدم با جمع و تفریق و ... تبدیلش کنم به ساعت ایران.

Arman_gh
چهارشنبه 05 اسفند 1388, 17:00 عصر
echo date("Y-m-d H:i:s", strtotime('+3 hours 30 minutes'));
درباره strtotime
http://php.net/manual/en/function.strtotime.php

Arman_gh
چهارشنبه 05 اسفند 1388, 17:04 عصر
echo date("Y-m-d H:i:s", strtotime('+3 hours 30 minutes'));
درباره strtotime
http://php.net/manual/en/function.strtotime.php

Reza1607
پنج شنبه 06 اسفند 1388, 08:44 صبح
strftime("%H:%M",time()+12600);

yasgig
پنج شنبه 06 اسفند 1388, 11:45 صبح
کد زیر یک عدد صحیح 10 رقمی بر حسب زمان Unix میسازه که میتونین از این عدد 10 رقمی هر اطلاعاتی رو بیرون بکشین.
چجور می تونم تبدیلش کنم؟
مثلا واسه من 1267099419 رو نشون می ده.

Reza1607
پنج شنبه 06 اسفند 1388, 11:55 صبح
چجور می تونم تبدیلش کنم؟
مثلا واسه من 1267099419 رو نشون می ده.

باید از strftime() استفاده کنی و فرمتی رو که می خوای بهش بده

guy18iran
پنج شنبه 06 اسفند 1388, 13:24 عصر
چجور می تونم تبدیلش کنم؟
مثلا واسه من 1267099419 رو نشون می ده.
با تابع date به راحتی میتونین ازش استفاده کنین.
برای مثال نمایش ساعت و دقیقه:



echo date("H:i", "1267099419"); // prints 13:03


برای اطلاعات بیشتر برای چگونگی نمایش زمان و تاریخ به لینک زیر برید:
http://www.php.net/manual/en/function.date.php

yasgig
پنج شنبه 06 اسفند 1388, 14:07 عصر
<?php
$time = "08:50:00";
$time_output = "";
echo $time_output;
?>
$time_output : این متغییر رو چجوری تعریف کنم تا متغیر $time رو بگیره و +3.30 رو روش اعمال کنه تا ساعت بشه 12:20:00
با تشکر

guy18iran
پنج شنبه 06 اسفند 1388, 14:45 عصر
این کد رو نگاه بندازین:



$date1 = gmmktime(8, 50, 00, gmdate("n"), gmdate("j"), gmdate("Y")) + 12600; // 12600 seconds = 3.5 hours
echo $date1; // prints unix timestamp
echo "<br>";
$date2 = date("Y/n/j - H:i:s", $date1); // prints given time + (+3.5)
echo $date2

اگر از همون اول زمان رو با زمان Unix وارد میکردید این همه دردتسر نداشتین. :چشمک:

yasgig
پنج شنبه 06 اسفند 1388, 16:29 عصر
خیلی مممنون.مشکل حل شد.
اینا رو من وارد نکردم.از یه فایل xml وارد می کنم که دست خودم نیست.
با تشکر

calej2009
دوشنبه 10 بهمن 1390, 15:32 عصر
چرا اینقد لقمه رو می چرخونین
هر کی میخواد تاریخ و ساعت رو توی سایتش یا وب سایتش به کار ببره کافیه که از کد زیر استفاده کنی
همین





<div>
<?php
echo "<font size=\"2\" color=\"#004040\" face=\"B Nazanin\"><b>";

echo date(" l d ");
echo date("F Y ");
echo "<br>";
date_default_timezone_set("Asia/Tehran");
echo date ("h:i:s A");
echo "</b></font>";
?>
</div>

soroush.r70
سه شنبه 11 بهمن 1390, 11:12 صبح
یه سوال اگه بخوام ساعت - دقیقه - ثانیه رو باهم نشون بدیم حتی داخل localhost هم جواب بده چه راهی وجود داره

با جاوا اسکریپت هست یا با php هم می شه