PDA

View Full Version : تقویم فارسی



VisualStudio
جمعه 01 شهریور 1387, 12:42 عصر
با درود بر دوستان من یک سوال ساده داشتم اون هم اینکه چطور من بفهمم برای مثال 5/8/78 چند شنبه هست از چه الگوریتمی باید استفاده کنم
من سرچ کردم ولی به چواب خوبی نرسیدم یا سورس کد ها بدون کامنت بود

TheSpecialOne
شنبه 02 شهریور 1387, 17:04 عصر
با درود بر دوستان من یک سوال ساده داشتم اون هم اینکه چطور من بفهمم برای مثال 5/8/78 چند شنبه هست از چه الگوریتمی باید استفاده کنم
من سرچ کردم ولی به چواب خوبی نرسیدم یا سورس کد ها بدون کامنت بود
باید تاریخ یه روزیو بدونی. مثلاً امروز شنبه هست. حالا باید حساب کنی که چند روز فاصله بین این دو تا روز هست و mod اون عدد رو به 7 به دست بیاری. واسه راحتی این نکته رو بدون که اگه یه سال با شنبه شروع میشه، سال بعدش از یکشنبه شروع میشه و به همین ترتیب. البته به کبیسه بودن یا نبودن سال هم باید توجه کنی.

VisualStudio
شنبه 02 شهریور 1387, 23:38 عصر
من یکسری نمونه سورس دیدم اینطوری نبود که یک تاریخ توش Save شده باشه دوستان دیگه نظری ندارن

afsharm
یک شنبه 03 شهریور 1387, 08:12 صبح
دوست عزیز در اینجا (http://fa.farsiweb.ir/fawiki/Iranian_Calendar_Accuracy)کامل‌ترین توضیح ممکن در مورد تقویم فارسی و در اینجا (http://fa.farsiweb.ir/fawiki/Iranian_Calendar) هم پیاده سازی آن وجود دارد. بعد از این، توضیحات مایکروسافت در راهنمای دات نت دقیق‌ترین توضیحات و تقویمی است که می‌شناسم. در دات نت به دنبال کلاس PersianCalendar بگردید.

nikraftar
پنج شنبه 28 آذر 1387, 23:25 عصر
دوست عزیز persianCalender کارتو راه میندازه دستور زیر به جای year day month
تاریخ هجری مورد نظر رو وارد کن


persiancalendar p = new persiancalendar;
p.GetDayOfWeek(p.ToDateTime(year, month, day, 0, 0, 0, 0))

Kahrizi_b
پنج شنبه 28 آذر 1387, 23:58 عصر
سلام، توی دات نت این مشکل حل شده. من با استفاده از کلاس موجود اون ی کلاس جدید نوشتم، ببین به کارت میاد؟با ساختن یک شی از کلاس و استفاده از خصوصیت Today که یک رشته بر میگرداند تاریخ امروز را به فارسی دارید.


using System;
using System.Globalization;
using System.Collections.Generic;
using System.Text;

namespace PersianDate
{
class PersianDate
{
DateTime today = DateTime.Now;
PersianCalendar pr = new PersianCalendar();
string month_srt;
string day_str;
public PersianDate()
{
int mon;
mon = pr.GetMonth(today);
string[] month = { "فروردین", "اردیبهشت", "خرداد", "تیر", "مرداد", "شهریور", "مهر", "آبان", "آذر", "دی", "بهمن", "اسفند" };
month_srt = month[mon];
string[] week = { "جمعه", "شنبه", "یکشنبه", "دوشنبه", "سه شنبه", "چهار شنبه", "پنجشنبه" };
day_str = week[(int)pr.GetDayOfWeek(today)];
}
public string Today
{
get
{
return "13" + Year.ToString() + "/" + Month_str + "/" + Day.ToString() +
" " + pr.GetDayOfWeek(today).ToString() + " ";
}
}
}
}