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

نام تاپیک: کار با تاریخ انجام عملیات در تاریخ های معین

  1. #1

    کار با تاریخ انجام عملیات در تاریخ های معین

    سلام...
    یه عملاتی هست که باید هر روز به وسیله کرون جاب تعریف بشه و در روز معادلش تو ماه های بعد به وسیله یک کرون جاب دیگه ویرایش بشه...
    مثلا روز 01-01-1394 یک کار تعریف میشه این کار باید روز اول هر ماه ویرایش بشه که میشه ۱-۲-94 و 1-3-94 و...
    حالا بهترین روش این که تو این عملیات با تاریخ کار کنم چیه!؟
    مثلا:
    ۱ با تایم استمپ کار کنم یا با تاریخ؟
    ۲ اگه با تاریخ حالا با تاریخ شمسی کار کنم یا میلادی؟ (با احتساب این که تاریخ ها قراره شمسی محاسبه بشن)
    ۳ چطور تاریخ های هر روز رو تشخیص بدم که کدوم سطرهای جدول باید آپدیت بشن؟ (مثلا امروز که ۸-۷-۹۴ هست باید کارهایی که تو روز هشتم هر ماه تا ماه هفتم هست و تعریف شدن رو تشخیص بدم چطور میشه!؟)
    4 من فقط شنیدم که اگر تاریخ ها شمسی ذخیره بشن گاهی امکان داره مشکلاتی پیش بیاد مثلا عقب جلو بشه تاریخ ها و از اینطور موارد تا حالا تجربه اینچنین کسی نداشته...!؟

  2. #2

    نقل قول: کار با تاریخ انجام عملیات در تاریخ های معین

    دوست عزیز
    من در چندین کیس مختلف و متفاوت، این مسئله رو با Timestamp حل کردم
    تایم استمپ به دلیل انعطاف بسیار زیادی که دارد، یکی از بهترین و دقیق ترین مکانیزم های نگهداری تاریخ به حساب می آید
    فقط شما باید دقت کنید که توی MySql دیتاتایپ فیلد تاریخ رو BIGINT بگیرید و به شدت از نوع داده UNIX TIMESTAMP اجتناب کنید

  3. #3

    نقل قول: کار با تاریخ انجام عملیات در تاریخ های معین

    ممنون...
    کاری که من میخوام انجام بدم یکم فرق داره نمیدونم چکارش کنم...!!
    ببنید کدی هست که هر روز از سال یه سطر به یک جدول اضافه میکنه به همراه تاریخی که این سطر ایجاد شده...
    حالا باز هر روز جدای از این که سطر جدید ساخته میشه باید چک کنم اونهایی که تو این روز از ماه های قبل ایجاد شدن رو بگیرم و نمایش بدم که یعنی روزشون از ماه برابر امروز از همین ماه باشه...

    حالا مشکل اینه که اگر timestamp ذخیره کنم چطور تو select بفهمم که کدوم تاریخ ها تو این روز ساخته شدن و این در صورتیه که من با تاریخ های معادل تاریخ شمسی کار دارم یعنی هم تو دیتابیس باید تاریخ شمسی داشته باشم یا تبدیل کنم هم تو برنامه تاریخ امروز رو باید به شمسی تبدیل کنم و روز رو از هردو سمت بگیرم اگر برابر بودن اون سطر رو نمایش بدم... این چطور میشه!؟

    فرضا تاریخی که ذخیره شده با timestamp تاریخ میلادیه و تاریخی که من باهاش کار میکنم تاریخ شمسیه و تعداد و ساختار ماه های شمسی و میلادی با هم تفاوقت دارن حالا با این تفاصیل select چطور میشه!؟

  4. #4
    کاربر دائمی آواتار engmmrj
    تاریخ عضویت
    مرداد 1391
    محل زندگی
    تهران
    پست
    1,146

    نقل قول: کار با تاریخ انجام عملیات در تاریخ های معین

    نقل قول نوشته شده توسط H:Shojaei مشاهده تاپیک
    ممنون...
    کاری که من میخوام انجام بدم یکم فرق داره نمیدونم چکارش کنم...!!
    ببنید کدی هست که هر روز از سال یه سطر به یک جدول اضافه میکنه به همراه تاریخی که این سطر ایجاد شده...
    حالا باز هر روز جدای از این که سطر جدید ساخته میشه باید چک کنم اونهایی که تو این روز از ماه های قبل ایجاد شدن رو بگیرم و نمایش بدم که یعنی روزشون از ماه برابر امروز از همین ماه باشه...

    حالا مشکل اینه که اگر timestamp ذخیره کنم چطور تو select بفهمم که کدوم تاریخ ها تو این روز ساخته شدن و این در صورتیه که من با تاریخ های معادل تاریخ شمسی کار دارم یعنی هم تو دیتابیس باید تاریخ شمسی داشته باشم یا تبدیل کنم هم تو برنامه تاریخ امروز رو باید به شمسی تبدیل کنم و روز رو از هردو سمت بگیرم اگر برابر بودن اون سطر رو نمایش بدم... این چطور میشه!؟

    فرضا تاریخی که ذخیره شده با timestamp تاریخ میلادیه و تاریخی که من باهاش کار میکنم تاریخ شمسیه و تعداد و ساختار ماه های شمسی و میلادی با هم تفاوقت دارن حالا با این تفاصیل select چطور میشه!؟
    بصورت timestamp ذخیره کن که خیلی دستت باز میشه از بابت query زدن و بدست آوردن آمار و امثال اینها .
    برای مثال مثلا رکورد های یک هفته پیش

    $time = time()-(86400 * 7);
    $query = "SELECT * FROM WHERE `create_at` > {$time}";

  5. #5
    کاربر دائمی آواتار Unique
    تاریخ عضویت
    مرداد 1384
    محل زندگی
    ایران - اصفهان
    پست
    3,199

    نقل قول: کار با تاریخ انجام عملیات در تاریخ های معین

    راستش من همیشه از توع DateTime استفاده میکنم و تا حالا نشده جایی لنگ بمونم.
    اگه نیاز داری که توی query تبدیل به شمسی از DateTime میلادی داشته باشی از این تابع MYSQL استفاده کن.
    اقای صالح سوزنچی که بیشتر ایشون را همه با بحث فونت ها میشناسن نوشتن ، اینجا هم توی سایت خودشون توضیح دادن/

    پ.ن : خودم تا حالا استفاده نکردم و اگه استفاده کردی و جواب داد حتما بهش توی github ستاره بده و اینجا مطرح کن تا افراد دیگه هم استفاده کنن/.

  6. #6

    نقل قول: کار با تاریخ انجام عملیات در تاریخ های معین

    ممنون دوستان راستش این روشی که من گفتم با اینطور موارد درست نمیشد البته با تبدیل تاریخ توی mysql به شمسی درست میشه ولی تبدیل هایی که نیازه سر آدم رو درد میاره...
    الآن یه کار کردم و اون هم یه نوع varchar گرفتم و تاریخ فارسی توش ذخیره کردم و همچنین تایم استمپ رو هم کنارش نگه میدارم (چاره ای دیگه نبود هر کار دیگه میکردم به درد سرش نمیارزید) از هردو واسه کارهای مختلف استفاده میکنم...

  7. #7
    کاربر دائمی آواتار arta.nasiri
    تاریخ عضویت
    آذر 1386
    محل زندگی
    Tehran
    پست
    782

    نقل قول: کار با تاریخ انجام عملیات در تاریخ های معین

    از همون timestamp استفاده کنید. بالاخره هر روز از تاریخ شمسی یه روز معادل تو میلادی داره دیگه. شما کل اطلاعات رو با تاریخ میلادی ذخیره کنید هرجا که لازم بود روز معادل مثلا امروز رو به میلادی بدست بیارید بعدش تو دیتابیس فقط اونایی رو select کنید که روزشون برابر با امروز (تو مثال برابر روز ۵ام) هستش. واسه بدست آوردن روز از timestamp هم میتونید از توابع خود mysql تو query استفاده کنید

    SELECT * FROM table WHERE DAY(FROM_UNIXTIME(createDate)) = 5

    تو sql بالا فقط رکوردهایی رو انتخاب میکنه که تاریخ ایجاد اونا برابر روز ۵ام از هرماه باشه.

  8. #8
    کاربر دائمی آواتار Unique
    تاریخ عضویت
    مرداد 1384
    محل زندگی
    ایران - اصفهان
    پست
    3,199

    نقل قول: کار با تاریخ انجام عملیات در تاریخ های معین

    البته با تبدیل تاریخ توی mysql به شمسی درست میشه ولی تبدیل هایی که نیازه سر آدم رو درد میاره
    شما که تبدیل نمیکنی ، یک تابع این کار را برات انجام میده. سعی کن از توابع و روال ها توی mysql استفاده کنی. بعضی مواقع خیلی به کار میان. متاسافانه خیلی از قابلیت های mysql را برنامه نویس ها ازشون استفاده نمیکنناز جمله trigger ها و view ها و توابع خیلی قدرتمندی که داره.

  9. #9

    نقل قول: کار با تاریخ انجام عملیات در تاریخ های معین

    نقل قول نوشته شده توسط arta.nasiri مشاهده تاپیک
    از همون timestamp استفاده کنید. بالاخره هر روز از تاریخ شمسی یه روز معادل تو میلادی داره دیگه. شما کل اطلاعات رو با تاریخ میلادی ذخیره کنید هرجا که لازم بود روز معادل مثلا امروز رو به میلادی بدست بیارید بعدش تو دیتابیس فقط اونایی رو select کنید که روزشون برابر با امروز (تو مثال برابر روز ۵ام) هستش. واسه بدست آوردن روز از timestamp هم میتونید از توابع خود mysql تو query استفاده کنید

    SELECT * FROM table WHERE DAY(FROM_UNIXTIME(createDate)) = 5

    تو sql بالا فقط رکوردهایی رو انتخاب میکنه که تاریخ ایجاد اونا برابر روز ۵ام از هرماه باشه.
    خیر امکان نداره همچین چیزی...
    ببینید ما یه تاریخ شمسی داریم مثلا ۱۵-۱-۲۰۱۵ حالا امروز رو هم بدست میاریم مثلا میشه ۱۵-۲-۲۰۱۵ خوب تا اینجا کارایی که تو یه روز باشن رو به روش شما ویرایش میکنیم که همون ۱۵-۱ هست...
    حالا فرض کنید برج ۱ ما ۳۱ روزه باشه و برج ۱ میلادی ۳۰ روزه!؟!؟!؟ حلا ۱ روز این وسط عقب جلو شده که این تو این سیستم فاجعس...

    نقل قول نوشته شده توسط Unique مشاهده تاپیک
    شما که تبدیل نمیکنی ، یک تابع این کار را برات انجام میده. سعی کن از توابع و روال ها توی mysql استفاده کنی. بعضی مواقع خیلی به کار میان. متاسافانه خیلی از قابلیت های mysql را برنامه نویس ها ازشون استفاده نمیکنناز جمله trigger ها و view ها و توابع خیلی قدرتمندی که داره.
    بله قبول دارم شاید به این خاطر که زیاد جدی کسی نبوده که بهمون بگه... (البته چیزای دیگه رو هم کسی نبوده که جدی بگه ولی این مورد چون معمولا هرکی وارد میشه هر کاری با عملیات های اصلی واسش قابل انجامه دنبال باقیه موارد نمیریم...)

تاپیک های مشابه

  1. انجام عملیات خاصی در یک تاریخ مشخص در سیستم.
    نوشته شده توسط gjmkdyttyhujk در بخش Android Studio
    پاسخ: 5
    آخرین پست: سه شنبه 01 اردیبهشت 1394, 20:21 عصر
  2. سوال: انجام عملیات روی تاریخ
    نوشته شده توسط mohammad mehd در بخش C#‎‎
    پاسخ: 4
    آخرین پست: یک شنبه 05 آبان 1392, 14:17 عصر
  3. پاسخ: 2
    آخرین پست: جمعه 04 مرداد 1392, 05:52 صبح
  4. حرفه ای: انجام عملیات خاص بین دو تاریخ تعریف شده
    نوشته شده توسط reza10wert در بخش PHP
    پاسخ: 10
    آخرین پست: جمعه 05 آبان 1391, 03:23 صبح
  5. انجام عملیات مشخص در زمان معین در فایل(دلفی)
    نوشته شده توسط delphi_programmer_2010 در بخش مباحث عمومی دلفی و پاسکال
    پاسخ: 3
    آخرین پست: یک شنبه 02 آبان 1389, 10:34 صبح

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

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