انجمن


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

  • arshiyan

    آفلاین
    عضو
    تعداد نوشته‌ها: ۵
    تشکر شده: ۱ بار
    # نوشته شده: ۱۳ سال پیش
    ۱۳ آذر ۱۳۹۰ - ۱۵:۳۵

    سلام
    اول بگم که خیلی جستجو کردم ولی چیزی پیدا نکردم.
    من می خوام ارسال های امروز یا این هفته رو تو سایتم نمایش بدم، چندتا کد پیدا کردم که این کار رو می کرد، اما از اونجایی که تاریخ و ساعت در سرور با تاریخ و ساعت در وردپرس فارسی متفاوته نمایش روز رو با چند ساعت تاخیر نشون میده یا اینکه ارسال های دیروز رو هم نشون میده.
    این کد رو نگاه کنید

    <?php
    $today = date("Y-m-d H:i:s"); //Today's date
    $daysago = date("Y-m-d H:i:s",strtotime(date('Y-m-j H:i:s')) - (1 * 24 * 60 * 60)); //Today - 1 day
    $numposts = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->posts WHERE post_status = 'publish' AND post_date BETWEEN '$daysago' AND '$today'");
    if ($numposts >0) {
    echo $numposts.' posts published today';
    } else {
    echo "No posts published today";
    ?>

    البته این کد تعداد رو نشون میده ولی مهم تاریخه ، من از jdate به جای date هم استفاده کردم ولی جواب نداد
    سپاس

    کاربران زیر به‌خاطر این نوشته تشکر کرده‌اند:
    تناسب اندام
  • Morteza

    آفلاین
    ناظم
    تعداد نوشته‌ها: ۳۴۰۲
    تشکر شده: ۳۱۲۸ بار
    # نوشته شده: ۱۳ سال پیش
    ۱۳ آذر ۱۳۹۰ - ۱۶:۱۷

    شما باید میزان مغایرت ساعت رو پیدا کنید (ثابت هست) و از مقدار موردنظر کم یا به تاخیر اضافه کنید.

    کاربران زیر به‌خاطر این نوشته تشکر کرده‌اند:
    arshiyan
  • arshiyan

    آفلاین
    عضو
    تعداد نوشته‌ها: ۵
    تشکر شده: ۱ بار
    # نوشته شده: ۱۳ سال پیش
    ۱۳ آذر ۱۳۹۰ - ۱۶:۲۱

    man4toman گفت:
    شما باید میزان مغایرت ساعت رو پیدا کنید (ثابت هست) و از مقدار موردنظر کم یا به تاخیر اضافه کنید.

    احتمالا همون 3.5 ساعت باید باشه، یعنی
    strtotime(date('Y-m-j H:i:s')) - (1 * 24 * 60 * 60))
    بشه

    strtotime(date('Y-m-j H:i:s')) - (1 * 27 * 90 * 60))

    ؟

  • arshiyan

    آفلاین
    عضو
    تعداد نوشته‌ها: ۵
    تشکر شده: ۱ بار
    # نوشته شده: ۱۳ سال پیش
    ۱۳ آذر ۱۳۹۰ - ۱۶:۳۵

    خوب من نمونه کد رو تست کردم با کم کردن 3.5 از مقدار اولیه نتیجه خوب بود ولی باید 24 ساعت اونو رو سایت اصلی تست کنم ، نتیجه رو همینجا اعلام م یکنم تا دوستان هم استفاده کنن

    $daysago = date("Y-m-d H:i:s",strtotime(date('Y-m-j H:i:s')) - (1 * 21 * 30 * 60)); //Today - 1 day
  • Morteza

    آفلاین
    ناظم
    تعداد نوشته‌ها: ۳۴۰۲
    تشکر شده: ۳۱۲۸ بار
    # نوشته شده: ۱۳ سال پیش
    ۱۳ آذر ۱۳۹۰ - ۱۶:۳۹

    چک کنید:
    $daysago = date("Y-m-d H:i:s",strtotime(date('Y-m-j H:i:s')) - (99000));

    کاربران زیر به‌خاطر این نوشته تشکر کرده‌اند:
    رضا ش

درباره‌ی این موضوع