نمایش نتایج 1 تا 11 از 11

نام تاپیک: راهنمایی برای دریافت تاریخ میلادی از دیتابیش و تبدیل به تاریخ شمسی

  1. #1

    راهنمایی برای دریافت تاریخ میلادی از دیتابیش و تبدیل به تاریخ شمسی

    سلام
    دوستان من کدی نوشتم که تاریخ های میلادی با این فرمت (Friday 1st of October 2010 12:22:23 PM) رو به تاریخ شمسی تبدیل کنه.این کد رو در صفحه ای جدا (jdata.php) نوشتم.

    ضمنا تاریخ ها رو با فرمت بالا در دیتابیسم ذخیره کردم.

    حالا میخام تاریخ رکوردهارو از دیتابیس بگیرم به شمسی تبدیل کنم بعد نمایش بدم
    باید چکار کنم؟ با چه کدی تو url پاسش بدم؟ اصلا این کارو باید بکنم؟
    نمی دونم چرا خنگ شدم

  2. #2

    نقل قول: راهنمایی برای دریافت تاریخ میلادی از دیتابیش و تبدیل به تاریخ شمسی

    به نظر من بهتره که تاریخ رو به صورت timestamp تو دیتابیس ذخیره کنی یعنی مقداری که تابع time() بهت میده، اینطوری بعدا قدرت مانور بیشتری می‌تونی داشته باشی

    برای تبدیل به تاریخ شمسی می‌توتی از این تابع استفاده بکنی


    function fnum($num)
    {
    $nums = array('٠','١','٢','٣','۴','۵','۶','٧','٨' ,'٩');
    $num = (string) $num;
    $n = array();
    for($i=0;$i<strlen($num);$i++)
    {
    $n[$i] = $nums[(int) $num[$i]];
    }
    return join('',$n);
    }
    $g_days_in_month = array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
    $j_days_in_month = array(31, 31, 31, 31, 31, 31, 30, 30, 30, 30, 30, 29);
    function gregorian_to_jalali($g_y, $g_m, $g_d)
    {
    global $g_days_in_month;
    global $j_days_in_month;

    $div = create_function('$a,$b','return (int) ($a / $b);');

    $gy = $g_y-1600;
    $gm = $g_m-1;
    $gd = $g_d-1;

    $g_day_no = 365*$gy+$div($gy+3,4)-$div($gy+99,100)+$div($gy+399,400);

    for ($i=0; $i < $gm; ++$i)
    $g_day_no += $g_days_in_month[$i];
    if ($gm>1 && (($gy%4==0 && $gy%100!=0) || ($gy%400==0)))
    $g_day_no++;
    $g_day_no += $gd;

    $j_day_no = $g_day_no-79;

    $j_np = $div($j_day_no, 12053);
    $j_day_no = $j_day_no % 12053;

    $jy = 979+33*$j_np+4*$div($j_day_no,1461);

    $j_day_no %= 1461;

    if ($j_day_no >= 366){
    $jy += $div($j_day_no-1, 365);
    $j_day_no = ($j_day_no-1)%365;
    }

    for ($i = 0; $i < 11 && $j_day_no >= $j_days_in_month[$i]; ++$i)
    $j_day_no -= $j_days_in_month[$i];
    $jm = $i+1;
    $jd = $j_day_no+1;

    return array($jy, $jm, $jd);
    }
    function persiandate($time)
    {
    @$a=gregorian_to_jalali(date('Y',$time),date('m',$ time),date('d',$time));
    return fnum($a[0]).'/'.fnum($a[1]).'/'.fnum($a[2]);
    }


  3. #3

    نقل قول: راهنمایی برای دریافت تاریخ میلادی از دیتابیش و تبدیل به تاریخ شمسی

    از تابع جلالی استفاده کن که توی انجمن هم نمونه هست jdate();
    اگر به صورت timestamp() ذخیره میکردی کارت راحت تر بود

  4. #4

    نقل قول: راهنمایی برای دریافت تاریخ میلادی از دیتابیش و تبدیل به تاریخ شمسی

    ممنون از پاسخ هاتون
    ولی من گفتم که کد تبدیل تاریخ رو نوشتم
    این هم نمونش:
    روی این لینک کلیک کنید
    http://www.tehranartgallery.com/jdat...003:13:49%20PM

    مشکلم اینه که چجوری تاریخ هارو به این صفحه پاس بدم که تبدیل انجام بشه و بعدش در صفحه وب سایتم نمایش داده بشه

  5. #5

    نقل قول: راهنمایی برای دریافت تاریخ میلادی از دیتابیش و تبدیل به تاریخ شمسی

    شما توی فایل jdate.php برنامه ای که نوشتی رو به صورت فانکشن در بیار بعد این فایل رو توی برنامت include کن و هر جا که نیاز داشتی فانکشن رو با آرگومان تاریخ مورد نظرت صدا بزن

  6. #6

    نقل قول: راهنمایی برای دریافت تاریخ میلادی از دیتابیش و تبدیل به تاریخ شمسی

    منظورت رو از پاس دادن نفهمیدم الان تو تاریخ رو به url فرستادی دیگه!

    برای اون کار هم که می خوای بکنی که از تو آدرس بیاری هم می ‌تونی از AJAX استفاده کنی
    هم می تونی با php


    file_get_contents('http://www.tehranartgallery.com/jdate.php?gdate=Tuesday%2026th%20of%20July%202010% 2003:13:49%20PM');

  7. #7

    نقل قول: راهنمایی برای دریافت تاریخ میلادی از دیتابیش و تبدیل به تاریخ شمسی

    نقل قول نوشته شده توسط snail22 مشاهده تاپیک
    منظورت رو از پاس دادن نفهمیدم الان تو تاریخ رو به url فرستادی دیگه!

    برای اون کار هم که می خوای بکنی که از تو آدرس بیاری هم می ‌تونی از AJAX استفاده کنی
    هم می تونی با php


    file_get_contents('http://www.tehranartgallery.com/jdate.php?gdate=Tuesday%2026th%20of%20July%202010% 2003:13:49%20PM');
    پاس دادنو خودم ساختم شاید فراخوندن بهتر باشه
    منم دقیقا دنبال چنین دستوری در php هستم. قبلا اجراش کردم ولی این خطا رو میده:

    Warning: file_get_contents(jdate.php?gdate=Tuesday%2026th%2 0of%20July%202010%2003:13:49%20PM) [function.file-get-contents]: failed to open stream: No such file or directory in /home/tehrana1/public_html/details.php on line 501

  8. #8

    نقل قول: راهنمایی برای دریافت تاریخ میلادی از دیتابیش و تبدیل به تاریخ شمسی

    نقل قول نوشته شده توسط funpatogh مشاهده تاپیک
    شما توی فایل jdate.php برنامه ای که نوشتی رو به صورت فانکشن در بیار بعد این فایل رو توی برنامت include کن و هر جا که نیاز داشتی فانکشن رو با آرگومان تاریخ مورد نظرت صدا بزن
    این کارو انجام دادم قبلا
    تاریخ اولین رکورد رو تبدیل میکنه
    بقیه رکوردهامو دیگه نمیاره و این خطارو میده

    Fatal error: Cannot redeclare monthnum() (previously declared in /home/tehrana1/public_html/jdate.php:15) in /home/tehrana1/public_html/jdate.php on line 15

  9. #9

    نقل قول: راهنمایی برای دریافت تاریخ میلادی از دیتابیش و تبدیل به تاریخ شمسی

    آره یادم اومد! تابع file_get_contents نمی‌تونه متغییر هارو ارجا بده

    من تنها راهی که به ذهنم میرسه استفاده از socket هست

  10. #10

    نقل قول: راهنمایی برای دریافت تاریخ میلادی از دیتابیش و تبدیل به تاریخ شمسی

    به نظر بنده کاربردی ترین راه همون که گفتم هست اینجوری که میخواهید استفاده کنید لغمه دور سر چرخاندن هست

  11. #11

    نقل قول: راهنمایی برای دریافت تاریخ میلادی از دیتابیش و تبدیل به تاریخ شمسی

    نقل قول نوشته شده توسط funpatogh مشاهده تاپیک
    به نظر بنده کاربردی ترین راه همون که گفتم هست اینجوری که میخواهید استفاده کنید لغمه دور سر چرخاندن هست
    ممنون دوست عزیز ؛ بالاخره از طریق فانکشن تونستم مشکلمو حل کنید
    مرسی از راهنماییت

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •