سلام، لطفا وارد شوید یا عضو شوید.

نویسنده موضوع: ایجاد تاریخ آینده  (دفعات بازدید: 2899 بار)

آفلاین s_karimi

  • Full Member
  • ***
  • تشکر
  • -اهدا شده: 31
  • -دریافت شده: 25
  • ارسال: 105
    • ديدن مشخصات
ایجاد تاریخ آینده
« : آوریل 19, 2013, 05:59:13 pm »
سلام
می‌دانیم که با دستور \date و \today میشه تاریخ روز را تولید کرد. آیا می‌توان مثلاً تاریخ ده روز بعد را نیز ایجاد نمود، یا اینکه تاریخ جدید باید بطور دستی نوشته شود. ممنون از کمکتون

آفلاین Hassan67

  • Jr. Member
  • **
  • تشکر
  • -اهدا شده: 47
  • -دریافت شده: 0
  • ارسال: 59
    • ديدن مشخصات
پاسخ : ایجاد تاریخ آینده
« پاسخ #1 : آوریل 19, 2013, 06:28:35 pm »
تنها راهش فک میکنم اینه که تاریخ رایانه تون رو ده روز جلو ببرید.

آفلاین vafa

  • مشاور
  • Hero Member
  • *
  • تشکر
  • -اهدا شده: 78
  • -دریافت شده: 2012
  • ارسال: 4,429
    • ديدن مشخصات
پاسخ : ایجاد تاریخ آینده
« پاسخ #2 : آوریل 19, 2013, 06:29:05 pm »
خودکار میشه اینکار رو کرد اما به زحمتش نمی‌ارزه. برای این کار اول باید 10 روز به دستور بدوی \day اضافه کنی و بعد تمام محاسباتی رو که بسته xepersian-persiancal انجام می‌ده، دوباره انجام بدی.
مثلاً ماکروی \futuredate رو اینجوری تعریف کنی:
\makeatletter
\newcommand*{\futuredate}[1]{%
\begingroup%
\advance \day by #1%
\XePersian@y=\year \XePersian@m=\month \XePersian@d=\day
\XePersian@temp=\XePersian@y
\divide\XePersian@temp by 100\relax
\multiply\XePersian@temp by 100\relax
\XePersian@yModHundred=\XePersian@y
\advance\XePersian@yModHundred by -\XePersian@temp\relax
\ifodd\XePersian@yModHundred
   \XePersian@leapfalse
\else
   \XePersian@temp=\XePersian@yModHundred
   \divide\XePersian@temp by 2\relax
   \ifodd\XePersian@temp\XePersian@leapfalse
   \else
      \ifnum\XePersian@yModHundred=0%
         \XePersian@temp=\XePersian@y
         \divide\XePersian@temp by 400\relax
         \multiply\XePersian@temp by 400\relax
         \ifnum\XePersian@y=\XePersian@temp\XePersian@leaptrue\else\XePersian@leapfalse\fi
      \else\XePersian@leaptrue
      \fi
   \fi
\fi
\XePersian@latini=31\relax
\ifXePersian@leap
  \XePersian@latinii = 29\relax
\else
  \XePersian@latinii = 28\relax
\fi
\XePersian@latiniii = 31\relax
\XePersian@latiniv  = 30\relax
\XePersian@latinv = 31\relax
\XePersian@latinvi = 30\relax
\XePersian@latinvii = 31\relax
\XePersian@latinviii = 31\relax
\XePersian@latinix = 30\relax
\XePersian@latinx = 31\relax
\XePersian@latinxi = 30\relax
\XePersian@latinxii = 31\relax
\XePersian@thirtytwo=32\relax
\XePersian@temp=\XePersian@y
\advance\XePersian@temp by -17\relax
\XePersian@temptwo=\XePersian@temp
\divide\XePersian@temptwo by 33\relax
\multiply\XePersian@temptwo by 33\relax
\advance\XePersian@temp by -\XePersian@temptwo
\ifnum\XePersian@temp=\XePersian@thirtytwo\XePersian@kabisehfalse
\else
   \XePersian@temptwo=\XePersian@temp
   \divide\XePersian@temptwo by 4\relax
   \multiply\XePersian@temptwo by 4\relax
   \advance\XePersian@temp by -\XePersian@temptwo
   \ifnum\XePersian@temp=\z@\XePersian@kabisehtrue\else\XePersian@kabisehfalse\fi
\fi
\XePersian@tempthree=\XePersian@y                 % Number of Leap years
\advance\XePersian@tempthree by -1
\XePersian@temp=\XePersian@tempthree              % T := (MY-1) div 4
\divide\XePersian@temp by 4\relax
\XePersian@temptwo=\XePersian@tempthree           % T := T - ((MY-1) div 100)
\divide\XePersian@temptwo by 100\relax
\advance\XePersian@temp by -\XePersian@temptwo
\XePersian@temptwo=\XePersian@tempthree           % T := T + ((MY-1) div 400)
\divide\XePersian@temptwo by 400\relax
\advance\XePersian@temp by \XePersian@temptwo
\advance\XePersian@tempthree by -611       % Number of Kabise years
\XePersian@temptwo=\XePersian@tempthree           % T := T - ((SY+10) div 33) * 8
\divide\XePersian@temptwo by 33\relax
\multiply\XePersian@temptwo by 8\relax
\advance\XePersian@temp by -\XePersian@temptwo
\XePersian@temptwo=\XePersian@tempthree           %
\divide\XePersian@temptwo by 33\relax
\multiply\XePersian@temptwo by 33\relax
\advance\XePersian@tempthree by -\XePersian@temptwo
\ifnum\XePersian@tempthree=32\advance\XePersian@temp by 1\fi % if (SY+10) mod 33=32 then Inc(T);
\divide\XePersian@tempthree by 4\relax     % T := T - ((SY+10) mod 33) div 4
\advance\XePersian@temp by -\XePersian@tempthree
\advance\XePersian@temp by -137            % T := T - 137  Adjust the value
\XePersian@persiani=31
\advance\XePersian@persiani by -\XePersian@temp                 % now 31 - T is the persiani
\XePersian@persianii = 30\relax
\ifXePersian@kabiseh
  \XePersian@persianiii = 30\relax
\else
  \XePersian@persianiii = 29\relax
\fi
\XePersian@persianiv  = 31\relax
\XePersian@persianv   = 31\relax
\XePersian@persianvi  = 31\relax
\XePersian@persianvii = 31\relax
\XePersian@persianviii= 31\relax
\XePersian@persianix  = 31\relax
\XePersian@persianx   = 30\relax
\XePersian@persianxi  = 30\relax
\XePersian@persianxii = 30\relax
\XePersian@persianxiii= 30\relax
\XePersian@dn= 0\relax
\XePersian@sn= 0\relax
\XePersian@mminusone=\XePersian@m
\advance\XePersian@mminusone by -1\relax
\XePersian@i=0\relax
\ifnum\XePersian@i < \XePersian@mminusone
\loop
\advance \XePersian@i by 1\relax
\advance\XePersian@dn by \csname XePersian@latin\romannumeral\the\XePersian@i\endcsname
\ifnum\XePersian@i<\XePersian@mminusone \repeat
\fi
\advance \XePersian@dn by \XePersian@d
\XePersian@i=1\relax
\XePersian@sn = \XePersian@persiani
\ifnum \XePersian@sn<\XePersian@dn
\loop
\advance \XePersian@i by 1\relax
\advance\XePersian@sn by \csname XePersian@persian\romannumeral\the\XePersian@i\endcsname
\ifnum \XePersian@sn<\XePersian@dn \repeat
\fi
\ifnum \XePersian@i < 4
   \XePersian@m = 9 \advance\XePersian@m by \XePersian@i
   \advance \XePersian@y by -622\relax
\else
   \XePersian@m = \XePersian@i \advance \XePersian@m by -3\relax
   \advance \XePersian@y by -621\relax
\fi
\advance\XePersian@sn by -\csname XePersian@persian\romannumeral\the\XePersian@i%
\endcsname
\ifnum\XePersian@i = 1
  \XePersian@d = \XePersian@dn \advance \XePersian@d by 30 \advance\XePersian@d by -\XePersian@persiani
\else
  \XePersian@d = \XePersian@dn \advance \XePersian@d by -\XePersian@sn
\fi
\today
\endgroup}
\makeatother
دستور \futuredate یک آرگومان داره که تعداد روز رو جلوتر می‌بره. بنابراین
\futuredate{10}
تاریخ رو ۱۰ روز جلوتر می‌بره. اما این روش رو پیشنهاد نمی‌کنم چون هم طولانیه هم شما چیزی ازش نمی‌فهمید و اگر مشکلی پیش بیاد، نمی‌تونید حلش کنید.

بنابراین راحت‌تره که تاریخ ۱۰ روز دیگر را دستی بدی.
« آخرين ويرايش: آوریل 19, 2013, 06:32:50 pm توسط وفا خلیقی »

 

ایجاد تاریخ در متن به صورت پویا

نویسنده javadrانجمن گرافیک، جدول و شکل

پاسخ ها: 4
مشاهده: 1632
آخرين ارسال اوت 26, 2012, 05:55:35 pm
توسط حسن ذاکری
ایجاد لیست های طولانی در بیش از یک اسلاید

نویسنده e.roknabadiانجمن سبک نوشتار

پاسخ ها: 4
مشاهده: 3036
آخرين ارسال اكتبر 17, 2009, 11:01:35 am
توسط vafa
بخش‌بندی (ایجاد نقشه سایت) سایت

نویسنده وحید دامن‌افشانانجمن عمومی

پاسخ ها: 5
مشاهده: 2979
آخرين ارسال اكتبر 15, 2009, 04:55:07 pm
توسط وحید دامن‌افشان
مشکل ایجاد واژه‌نامه در زی‌پرشین

نویسنده وحید دامن‌افشانانجمن زی‌تک

پاسخ ها: 6
مشاهده: 4213
آخرين ارسال اكتبر 19, 2009, 11:32:18 am
توسط آسیه
ایجاد لینک در یک پیغام

نویسنده محمد چهارسوقیانجمن عمومی

پاسخ ها: 2
مشاهده: 1299
آخرين ارسال آوریل 11, 2010, 01:33:50 pm
توسط امیرمسعود
ایجاد یک بخش

نویسنده setarehانجمن طراحی صفحه

پاسخ ها: 4
مشاهده: 1753
آخرين ارسال مه 13, 2010, 06:27:26 pm
توسط شهاب
برای ایجاد پیوست چه دستوری لازم است؟

نویسنده setarehانجمن طراحی صفحه

پاسخ ها: 7
مشاهده: 4427
آخرين ارسال ژانویه 05, 2011, 08:13:41 pm
توسط meim007
ایجاد مقدمه

نویسنده setarehانجمن طراحی صفحه

پاسخ ها: 1
مشاهده: 2415
آخرين ارسال مه 24, 2010, 07:41:22 am
توسط شهاب