• 1 رای - 3 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
مشکل ساعت ایران در 6 ماه اول سال
#1
سلام به همه دوستان
من راستش با یک مشکل مواجه شدم و اون اینه که jdate و... زمان ایران را اشتباه محاسبه می کنن
مثلا اگه ساعت به وقت ایران 05:40 دقیقه است
jdate میزنه 04:40

  پاسخ
تشکر شده توسط :
#2
سلام
منم همین مشکلو داشتم ولی تو خود فایل jdf اینجا :
کد پی‌اچ‌پی:
$T_sec='-3600';/* <= رفع خطای زمان سرور ، با اعداد '+' و '-' بر حسب ثانیه */ 
تصحیحش کردم . (منظور شما همینه)
  پاسخ
تشکر شده توسط : .php
#3
پائول جان ممنونم از راهنمایی که کردی

ولی یه مشکل اینه که من از تابعhttp://forum.majidonline.com/showthread.php?p=711952 jdate
استفاده کردم و اون اعداد به صورت اینتجر هستند ولی مثل اینکه در این تابع jdate فایل jdf اعداد به صورتی اینکد شده به فارسی نشون داده میشن ؟

و من میخوام اعداد انگلیسی نشون بده و نه فارسی !
راهی سراغ نداری ؟
چون فارسی بخوام بریزم داخل دیتابیس ، خیلی ایرادات داره !
  پاسخ
تشکر شده توسط : paull
#4
jdate ؟ مگه تاریخ مصرفش تموم نشده ؟ pdate چشه خب ؟
  پاسخ
تشکر شده توسط : .php paull
#5
(۱۳۹۰ تير ۲۷, ۰۲:۲۴ ق.ظ)hidensfot نوشته: jdate ؟ مگه تاریخ مصرفش تموم نشده ؟ pdate چشه خب ؟

مرسی از راهنمایی
ولی من لینک دانلود کلاس pdate را پیدا نکردم ؟
ممنون میشم لطف کنی ؟
اوکی
اینم لینک دانلود برای دوستان دیگه ای که مثل من اول پیدا نکردن
http://iranphp.org/node/6
  پاسخ
تشکر شده توسط : paull
#6
php جان من خیلی وقته دارم از jdf استفاده می کنم و تا حالا هیچ مشکلی باهاش نداشتم .(هر چند وقت یه بار هم آبدیت میشه)
لینک دانلود
هنگام ذخیره تاریخ در دیتابیس بهتره از time_stamp استفاده کنی چون یه عدد انگلیسیه و هنگام خوندن باز با یه تابع شکل تاریخ رو بر می گردونی .
مثلا :
کد پی‌اچ‌پی:
$date=jgetdate();
$time_stamp=$date[0]; 
و هنگام خوندن :
کد پی‌اچ‌پی:
$r=jdate('l d F Y ساعت : H:i',$time
خروجی :
شنبه ۲۵ تیر ۱۳۹۰ ساعت : ۲۰:۴۴
الان یادم اومد که یه تابع کوچولو هم توی jdf هست که کارش تبدیل اعداد انگلیسی و فارسیه :
کد پی‌اچ‌پی:
echo tr_num('121212','fa');//out ۱۲۱۲۱۲
echo tr_num('۱۲۱۲۱۲');//out 121212 
  پاسخ
تشکر شده توسط : .php
#7
مرسی پایئول جان ...

راستی در مورد pdate صالح در بلاگش اینو زده : http://saleh.soozanchi.ir/1388/07/05/%D8...sql/pdate/
میشه دوستان حرفه ای تر بگن این یعنی چی ؟
راستی عزیزان
مثل اینکه pdate در ساعت در اکثر سرور ها دچار اشکاله .
من الان روی سرور کانادام برسی کردم دیدم مشکل داشت روی لوکال هم ، همینطور و حتی توی http://iranphp.org/node/6 یکی اعلام کرده بود مشکل داره واسش .
برای دوستانی که در ساعت pdate مشکل دارن ، پیشنهاد می کنم بسته به اختلافی که دارند GMT خود را تنظیم کنند نسبت به سرور:

مثلا سرور کانادا را این دادم
کد پی‌اچ‌پی:
echo pdate("l, j F Y ساعت h:i",time()+3600*1.5); 

و لوکال را این:
کد پی‌اچ‌پی:
echo pdate("d/n/Y h:i:s",time()+3600*4.5); 

تا درست و دقیق ثانیه و ... نشون دادند .
ممنون میشم حرفه ها بگن ، این کار اشکال داره یا نداره ؟
راستی فایل زیپ شده pdate هم با اشکال پسوند مواجه ، ممنون میشم برسی کنید .
در کل pdate خیلی عالیه نسبت به بقیه فکر می کنم . مرسی وحید عزیز
  پاسخ
تشکر شده توسط : paull
#8
سلام خدمت دوستان
دوستان متاسفانه من ایرادهای زیادی رو نسبت به بقیه اسکریپتها گرفتم که که بحثش هست و متاسفانه بهش توجه نمیشه.
من این اسکریپت رو با توجه به جدیدترین نسخه php تهیه کردم که علاوه بر pdate توابع دیگه ای مثل pstrftime و .. که نیاز هست هم داخلش وجود داره و بسیار هم روش تحقیق کردم. مثلا محاسبه سال کبیسه توی بقیه اشتباه هست که اینجا درست هست ( البته از نسخه های جدیدشون خبر ندارم) و تا جای ممکن بهینه شدست
یا مثلا از گزینه jdate استفاده میشه که یعنی تاریخ جلالی. مگه این گاه شمار جلالی هست؟ گاه شمار رسمی ایران که به گاهشمار فارسی هم مشهور هست با گاه شمار جلالی تفاوتهایی رو داره. پایه گاهشمار ایران همون گاهشمار جلالی هست اما نام ماه ها و طول ماهها رو تغییر دادن.
http://fa.wikipedia.org/wiki/%DA%AF%D8%A...8%A7%D9%86
نکته بعدی اینکه این توابع باید دقیقا مشابه سازی شده مدل اصلی در php باشن. نه اینکه امکانات بیشتری رو داشته باشن که مثلا timezone رو داشته باشه یا نداشته باشه.
حالا شما بخوایین از date استفاده کنین برای مشکل ساعت چی کار می کنین اگر روی GMT باشه یا روی مثلا کانادا باشه؟ تابع date php رو می تونین تغییر بدین؟ یا اینکه Daylight saving time که فقط توی ایران نیست توی بعضی از کشورها به جای ۱ ساعت ۲ ساعت هست اونوقت چی کار میشه کرد؟
فقط یه مقدار تحقیق و یا سوال می خواد
از php کمک بگیرید
date_default_timezone_set شما باید این مورد رو ست کنین با ست کردن این مورد می تونین مطمئن بشین که تاریخ همیشه درست هست
  پاسخ
تشکر شده توسط : paull .php usarianpour
#9
من با کلیه چیزهای اضافه توی این توابع مخالفم چون فقط باید مشابه مدل اصلی باشن. . چیزهایی مثل timezone و یا تبدیل اعداد. اینها واسه به تاریخ شمسی نیست
  پاسخ
تشکر شده توسط : .php
#10
آقا وحید بابت pdate دست شما درد نکنه واقعا کار تمیز و کاملیه
من پارسال اومدم از اسکریپت تاریخ استفاده کنم رفتم سراغ jdate v2
(حالا شما نیم خط تابع تبدیل اعداد رو ندید بگیر ید)
شما بی زحمت یه سر سایتشون برو http://jdf.scr.ir/
آخرین تغییرات jdf مال 11/3/1390 هستش که معلومه بنده خداها زحمت می کشند(همان طور که شما زحمت کشیدید) تا به روز باشه . نسخه v2.35
در مورد سال کبیسه :
با توجه به جستجوهایی که به عمل آمد :
برای تشخیص این‌که سال هجری خورشیدی مورد نظر کبیسه است یا خیر، کافی است که باقی‌ماندهٔ تقسیم سال خورشیدی را بر عدد ۳۳ بدست آوریم. اگر باقی‌مانده یکی از اعداد ۱، ۵، ۹، ۱۳، ۱۷، ۲۲، ۲۶ و ۳۰ بود، سال خورشیدی سال کبیسه است.
منبع : چندین سایت معتبر
حالا این تابع مال آقا وحید خودمونه :
کد پی‌اچ‌پی:
function isKabise($year)
{
    
$mod=$year%33;
    if(
$mod==or $mod==or $mod==or $mod==13 or $mod==17 or $mod==22 or $mod==26 or $mod==30)return true;
    return 
false;

و این هم مال jdf :
کد پی‌اچ‌پی:
$kab=($j_y%33%4-1==(int)($j_y%33*.05))?1:0
خودتون نتیجه گیری کنید ........Big GrinBig GrinBig Grin
  پاسخ
تشکر شده توسط :


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان