• 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
دریافت نام روز شمسی
#1
سلام
آیا میشه از طریق jdf.php
اومد یک تاریخ شمسی رو داد و روزش رو فهمید.

مثلا بگیم
94/3/5 چه روزیه ؟
یا اصلا راهی برای این هست؟
  پاسخ
تشکر شده توسط :
#2
کاراکتر l در آرگومان اول تابع jdateبرای نمایش نام روز هفته به فارسی هست.
کد پی‌اچ‌پی:
include 'jdf.php';
echo 
jdate("l y-F-d",jmktime(0,0,0,3,5,1394)); 
به یـزدان که گر ما خرد داشتیم
کجـا این سر انجـام بد داشتیم؟
  پاسخ
تشکر شده توسط : didi hamid_80386
#3
تاریخ های من به صورت
1394/4/14

هستن
چه طور میتونم بیام بذارمش توی این ؟
کد میدین؟
  پاسخ
تشکر شده توسط :
#4
(۱۳۹۴ تير ۱۴, ۰۴:۴۲ ب.ظ)didi نوشته: تاریخ های من به صورت
1394/4/14

هستن
چه طور میتونم بیام بذارمش توی این ؟
کد میدین؟

1. با تابع explode بر اساس کاراکتر / جداسازی بین مقادیر تاریخ شمسی تون انجام میدین. نتیجه این تابع یک آرایه شامل رشته های جداسازی شده است.
2. با تابع mktime از داده های مربوط به تاریخ یک timestamp میسازی.
3. با تابع jdate هم مقدار timestamp رو به تاریخ شمسی به فرمت دلخواه میگیری.
کد پی‌اچ‌پی:
include 'jdf.php';
$date "1394/4/4";
list(
$year$month$day) = explode('/'$date);
$timestamp jmktime(000$month$day$year);
echo 
jdate("l y-F-d",$timestamp); 
به یـزدان که گر ما خرد داشتیم
کجـا این سر انجـام بد داشتیم؟
  پاسخ
تشکر شده توسط : hamid_80386 didi M.J
#5
اینطوری هم میشه:
کد:
$date = strtotime('1394/4/14');
echo jdate('l',$date);

خروجی:
کد:
دوشنبه

کد:
$date = strtotime('1394/4/14');
echo jdate('l j F Y',$date);
echo '<br />';
echo jdate('l J F Y',$date);

خروجی:
کد:
دوشنبه ۱۵ تیر ۱۳۹۴
دوشنبه پانزده تیر ۱۳۹۴
هر که با مرغ هوا دوست شود - خوابش آرامترین خواب جهان خواهد بود.
  پاسخ
تشکر شده توسط : sara147 didi M.J
#6
کارتون درسته..
  پاسخ
تشکر شده توسط :
#7
سلام
با دو تاروش فوق تست کردم
در هر دو حالت روزی که به من میده جمعه هست

هر تاریخی بزنم مینویسه جمعه
چه طور جلش کنم
  پاسخ
تشکر شده توسط :
#8
احتمالا فرمت تاریختون درست نیست.
کد و ورودی که تست کردین رو اینجا بگذارید.
به یـزدان که گر ما خرد داشتیم
کجـا این سر انجـام بد داشتیم؟
  پاسخ
تشکر شده توسط :
#9
همین
$date = strtotime('1394/4/14');
echo jdate('l',$date);
رو مینویسم

میگه جمعه !
قبلش هم include_once کردم فایل jdfرو
  پاسخ
تشکر شده توسط :
#10
1. تابع strtotime برای تاریخ میلادی درست جواب میده. تاریخ شمسی که ورودی میدی، خروجی timestamp درست در نمیاد. false برمیگردونه.
طبق منوال خود php برای تابع strtotime:
نقل قول:The valid range of a timestamp is typically from Fri, 13 Dec 1901 20:45:54 UTC to Tue, 19 Jan 2038 03:14:07 UTC. (These are the dates that correspond to the minimum and maximum values for a 32-bit signed integer.)

2. تابع jdate وقتی آرگومان دوم خالی باشه، پیش فرض زمان فعلی رو در نظر میگیره.
کدی که در کتابخونه jdf اینکارو انجام میده:
کد پی‌اچ‌پی:
$ts=($timestamp=='' or $timestamp=='now')?time()+$T_sec:tr_num($timestamp)+$T_sec

این رو تست کردم مشکلی نداره:
کد پی‌اچ‌پی:
$date "1394/4/4";
list(
$year$month$day) = explode('/'$date);
$timestamp jmktime(000$month$day$year);
echo 
jdate('l',$timestamp); 
به یـزدان که گر ما خرد داشتیم
کجـا این سر انجـام بد داشتیم؟
  پاسخ
تشکر شده توسط : hamid_80386


پرش به انجمن:


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