انجمن‌های فارسی اوبونتو

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید


 خبرها، اتفاقات و تصاویر مربوط به مربوط به جشن انتشار را با هشتگ ufest1804 در شبکه‌های اجتماعی دنبال کنید

نویسنده موضوع: تاریخ شمسی در bash  (دفعات بازدید: 1537 بار)

0 کاربر و 1 مهمان درحال مشاهده موضوع.

آفلاین سید وحید رضا برهانی

  • High Hero Member
  • *
  • ارسال: 1567
  • جنسیت : پسر
  • یک مخالف نرم افزار اوپن سورس
تاریخ شمسی در bash
« : 04 آبان 1395، 10:49 ق‌ظ »
من خیلی وقت بود که با نبود تاریخ شمسی مشکل داشتم. اما kde بود! که اون هم متاسفانه توی نسخه جدیدش دیگه از تقویم شمسی پشتیبانی نمی کنه!(kde3 بهتر از kde4 بود و kde4 بهتر  از kde5 هست ... و kde همچنان داره سقوط آزاد می کنه!)
قبلا هم تلاشهایی کرده بودم توی http://forum.ubuntu.ir/index.php?topic=111052.0
ولی ایندفعه تابع تبدیل تاریخ اش رو با bash پیاده کردم. الگوریتم اش رو هم از پروژه jdf (تاریخ جلالی برای PHP) گرقتم.
از این اسکریپت می شه برای تبدیل تاریخ میلادی به شمسی هم استفاده کرد.
با اینکه چیز ساده ای هست ولی به نظرم خیلی ها بهش نیاز داشته باشند.
برای آدمهای تنبلی مثل خودم لینکش رو اینجا می زارم.
https://gitlab.com/undergroundman/jalalidate/blob/master/jdate.sh
نرم افزاری که نشه سیخ انگولکش کرد (به هر دلیلی چه به‌خاطر قانون و چه پیچیدگی یا توسعه سریع)نرم افزار آزاد نیست حالا مهم نیست چه بنیادی یا چه افرادی اون رو نوشته باشند یا GPL باشه یانه!
نرم افزار آزاد یک جنبش هست نه یک تیکه کاغذ پاره(GPL)
حق فهمیدن از حق خوندن مهمتره

آفلاین دانیال بهزادی

  • ناظر انجمن
  • *
  • ارسال: 12592
  • جنسیت : پسر
  • Urahara Kiesuke
    • صفحهٔ ویکی
پاسخ : تاریخ شمسی در bash
« پاسخ #1 : 04 آبان 1395، 03:04 ب‌ظ »
با jdate موجود در بستهٔ jcal چه تفاوت‌هایی داره؟
اگه این ارسال بهت کمک کرد، دنبال دکمهٔ تشکر نگرد. به جاش تو هم به جامعهٔ آزادت کمک کن

آفلاین سید وحید رضا برهانی

  • High Hero Member
  • *
  • ارسال: 1567
  • جنسیت : پسر
  • یک مخالف نرم افزار اوپن سورس
پاسخ : تاریخ شمسی در bash
« پاسخ #2 : 04 آبان 1395، 05:33 ب‌ظ »
هیچی! همه ی چیزهایی که توی اسکریپت من بود توی jcal هم هست.
فقط نکته ای که هست اینکه من jcal رو الان دیدم :) (من هیچ وقت حرفه ای نمی شم)
البته تنها فرقش اینکه اسکریپت من با بش هست و نیاز به کامپایل یا نصب چیزی نداره.
نرم افزاری که نشه سیخ انگولکش کرد (به هر دلیلی چه به‌خاطر قانون و چه پیچیدگی یا توسعه سریع)نرم افزار آزاد نیست حالا مهم نیست چه بنیادی یا چه افرادی اون رو نوشته باشند یا GPL باشه یانه!
نرم افزار آزاد یک جنبش هست نه یک تیکه کاغذ پاره(GPL)
حق فهمیدن از حق خوندن مهمتره

آفلاین B

  • Sr. Member
  • *
  • ارسال: 354
  • جنسیت : پسر
پاسخ : تاریخ شمسی در bash
« پاسخ #3 : 09 آبان 1395، 02:23 ق‌ظ »
برنامه خیلی زیبا و دوست داشتنی و خیلی خوشمان امد؛ مدت‌ها بود دنبال همچین چیزی بودم: واقعا دستت درد نکنه

« آخرین ویرایش: 06 شهریور 1396، 04:06 ب‌ظ توسط B »

آفلاین سید وحید رضا برهانی

  • High Hero Member
  • *
  • ارسال: 1567
  • جنسیت : پسر
  • یک مخالف نرم افزار اوپن سورس
پاسخ : تاریخ شمسی در bash
« پاسخ #4 : 09 آبان 1395، 10:28 ب‌ظ »
خوشحالم بدردت می خوره.
پروژه jcal هم چیز جالبیه (البته بش نیست)
نرم افزاری که نشه سیخ انگولکش کرد (به هر دلیلی چه به‌خاطر قانون و چه پیچیدگی یا توسعه سریع)نرم افزار آزاد نیست حالا مهم نیست چه بنیادی یا چه افرادی اون رو نوشته باشند یا GPL باشه یانه!
نرم افزار آزاد یک جنبش هست نه یک تیکه کاغذ پاره(GPL)
حق فهمیدن از حق خوندن مهمتره

آفلاین A. Rahmati

  • Newbie
  • *
  • ارسال: 13
  • جنسیت : پسر
پاسخ : تاریخ شمسی در bash
« پاسخ #5 : 18 امرداد 1398، 06:00 ب‌ظ »
سلام.
این برنامه‌ی خیلی خوبی است ولی زمانی که در قسمت روز یا ماه عدد ۰۸ یا ۰۹ وارد شود به مشکل بر می‌خورد.
التبه مشکل خیلی جدی نیست اما اگر بخواهیم در یک برنامه‌ی دیگر ازشان استفاده کنیم می‌تواند اذیت کننده باشد.
می‌شود این مشکل را درست کرد؟
bash ./Downloads/jdate.sh -d 2013-02-02
Shabe 14  Bahman 1391
~$ bash ./Downloads/jdate.sh -d 2013-08-02
./Downloads/jdate.sh: line 51: 08: value too great for base (error token is "08")
none   none 5
~$ bash ./Downloads/jdate.sh -d 2013-8-02
Jomee 11  Mordad 1392
~$ bash ./Downloads/jdate.sh -d 2013-09-02
./Downloads/jdate.sh: line 51: 09: value too great for base (error token is "09")
none   none 1
~$ bash ./Downloads/jdate.sh -d 2013-9-02
DoShanbe 11  Shahrivar 1392
~$ bash ./Downloads/jdate.sh -d 2013-11-08
./Downloads/jdate.sh: line 51: 08: value too great for base (error token is "08")
none   none 5
~$ bash ./Downloads/jdate.sh -d 2013-11-8
Jomee 17  Aban 1392
~$ bash ./Downloads/jdate.sh -d 2013-11-06
ChaharShanbe 15  Aban 1392

اگر نه کسی می‌تواند بگوید که چگونه می‌تواند از آن jdate (که درکادرهای بالا نوشتید) در Bash استفاده کرد؟

آفلاین سید وحید رضا برهانی

  • High Hero Member
  • *
  • ارسال: 1567
  • جنسیت : پسر
  • یک مخالف نرم افزار اوپن سورس
پاسخ : تاریخ شمسی در bash
« پاسخ #6 : 11 شهریور 1398، 05:56 ق‌ظ »
سلام
ببین مشکل اسکریپت بالا این هست که در بش اعداد وقتی با صفر شروع می شن یعنی عدد اکتال اند (مبنای ۸) در نتیجه از ۰۰ تا ۰۷ معنی دازند و وقتی ۰۸ یا ۰۹ بهش می دیم چون از مبنا بزرگتر می شن بی معنی می شن و خطا می ده
برای رفع این مشکل باید صفر اول رو حذف کرد تا به عنوان عدد مبنای ۱۰ درنظر گرفته بشه.
رفع مشکل :
می تونی خط ۴۶ و ۴۷ رو به خط زیر تغییر بدی :
month=${2#0}
day=${3#0}

فایل روی اون مخزن گیت هم آپدیت کردم و می تونی از همون هم استفاده کنی
نرم افزاری که نشه سیخ انگولکش کرد (به هر دلیلی چه به‌خاطر قانون و چه پیچیدگی یا توسعه سریع)نرم افزار آزاد نیست حالا مهم نیست چه بنیادی یا چه افرادی اون رو نوشته باشند یا GPL باشه یانه!
نرم افزار آزاد یک جنبش هست نه یک تیکه کاغذ پاره(GPL)
حق فهمیدن از حق خوندن مهمتره

آفلاین A. Rahmati

  • Newbie
  • *
  • ارسال: 13
  • جنسیت : پسر
پاسخ : تاریخ شمسی در bash
« پاسخ #7 : 12 شهریور 1398، 02:10 ق‌ظ »
متشکرم وحید.
 \\:D/