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

نام تاپیک: مقایسه دو تاریخ شمسی

  1. #1

    مقایسه دو تاریخ شمسی

    سلام دوستان..من دارم دیتابیس پروژ ه ام رو طراحی میکنم ..
    نیاز دارم تا عمل مقایسه تاریخ شمسی رو انجام بدم..
    نوع فیلد دیتا بیس رو رشته(Text) در نظر بگیرم یا اینکه از نوع Date باید در نظر بگیرم ؟تا در زمانی که توی C#‎ میخام عمل مقایسه رو انجام بدم راحت تر باشم؟

  2. #2

    نقل قول: مقایسه دو تاریخ شمسی

    سلام داداش خوبم
    فیلد دیتابیس رو varchar(10) در نظر بگیر و تاریخ رو توش ذخیره کن برا مقایسه هم دوتا دشته رو میتونی مقایسه کنی حتی جستجوی بین دوتاریخ هم میشه و هر کاری که دلت بخواد :D موفق باشی خوب من

  3. #3
    کاربر دائمی
    تاریخ عضویت
    تیر 1389
    محل زندگی
    به جبر روزگار تهران هستم.
    پست
    2,718

    نقل قول: مقایسه دو تاریخ شمسی

    نقل قول نوشته شده توسط pro_man مشاهده تاپیک
    نیاز دارم تا عمل مقایسه تاریخ شمسی رو انجام بدم..
    سلام. من خودم همیشه nvarchar(10 می گیریم ( حداقل خوبیش اینه که اگر اعداد رو بصورت فارسی وارد کنید بصورت علامت سوال ذخیره نمیشه).البته شما باید تاریخ رو به یک شکل واحد ذخیره کنید یا ارقام رو بصورت انگلیسی ذخیره کنید یا بصورت فارسی که پیشنهاد میکنم بصورت انگلیسی ذخیره کنید. منظورتون از مقایسه اینه که کدوم تاریخ بزرگتر از تاریخ دیگه هست؟. اگر آره، تا جایی که من میدونم در سمت سی شارپ نمیشه عملگر بزرگتر ( < ) رو برای دو رشته بکار برد و خطای زیر رو به شما خواهد داد :
    Operator '>' cannot be applied to operands of type 'string' and 'string'  

  4. #4

    نقل قول: مقایسه دو تاریخ شمسی

    نقل قول نوشته شده توسط mousa1992 مشاهده تاپیک
    سلام داداش خوبم
    فیلد دیتابیس رو varchar(10) در نظر بگیر و تاریخ رو توش ذخیره کن برا مقایسه هم دوتا دشته رو میتونی مقایسه کنی حتی جستجوی بین دوتاریخ هم میشه و هر کاری که دلت بخواد :D موفق باشی خوب من
    مرسی داداش گلـــــــــــــم
    نقل قول نوشته شده توسط mohammaddou مشاهده تاپیک
    سلام. من خودم همیشه nvarchar(10 می گیریم ( حداقل خوبیش اینه که اگر اعداد رو بصورت فارسی وارد کنید بصورت علامت سوال ذخیره نمیشه).البته شما باید تاریخ رو به یک شکل واحد ذخیره کنید یا ارقام رو بصورت انگلیسی ذخیره کنید یا بصورت فارسی که پیشنهاد میکنم بصورت انگلیسی ذخیره کنید. منظورتون از مقایسه اینه که کدوم تاریخ بزرگتر از تاریخ دیگه هست؟. اگر آره، تا جایی که من میدونم در سمت سی شارپ نمیشه عملگر بزرگتر ( < ) رو برای دو رشته بکار برد و خطای زیر رو به شما خواهد داد :
    Operator '>' cannot be applied to operands of type 'string' and 'string'  
    تاریخ رو با یه کامپوننت به دست میارم..که به شکل 01/02/1391 ذخیره میکنه..اعداد رو فارسی باید ذخیره کنم. بعدش مثلا میخام بدونم مثلا تاریخ A از تاریخ B بزرگتر هستش یا نه...فکر کنم باید رشته ها رو جدا کنم(سال،ماه،روز) بعدش از هم کم کنم تا بتونم این رو بدست بیارم..من میخاستم بدونم راه ساده تری هم وجود داره یا نه

  5. #5
    کاربر دائمی
    تاریخ عضویت
    تیر 1390
    محل زندگی
    کرمانشاه
    پست
    1,487

    نقل قول: مقایسه دو تاریخ شمسی

    من با NvarChar ذخیره می کنم و با این فرمت
    1391/01/01

    بعد هم با این دستور مقایسه می کنم

    Select * From tbl1 where Date BETWEEN '1391/05/01' AND '1395/01/01'

  6. #6

    نقل قول: مقایسه دو تاریخ شمسی

    نقل قول نوشته شده توسط dev-dev-dev مشاهده تاپیک
    من با NvarChar ذخیره می کنم و با این فرمت
    1391/01/01

    بعد هم با این دستور مقایسه می کنم

    Select * From tbl1 where Date BETWEEN '1391/05/01' AND '1395/01/01'
    واسه بزرگتر یا کوچیکتر بودن هم این کار جواب میده؟ منظورم اینه < یا > یا =

  7. #7
    کاربر دائمی
    تاریخ عضویت
    تیر 1389
    محل زندگی
    به جبر روزگار تهران هستم.
    پست
    2,718

    نقل قول: مقایسه دو تاریخ شمسی

    نقل قول نوشته شده توسط pro_man مشاهده تاپیک
    واسه بزرگتر یا کوچیکتر بودن هم این کار جواب میده؟ منظورم اینه < یا > یا =
    اگه از دستورات sql استفاده کنی مشکلی ندارید(مثل همین کدی که دوستمون واست گذاشتن). بزرگتر یا کوچکتر هم جواب میده.

  8. #8

    نقل قول: مقایسه دو تاریخ شمسی

    سلام
    دوست عزيز شما تو C#‎‎هم ميتونيد تاريخ ها رو بدون جدا كردن سال و ماه و روز با هم مقايسه كنيد.
    به اين شكل
    int temp=string.Compare(Date1,Date2);
    if (temp==0)
    تاريخ ها برابرند
    else if (temp==1)
    date1 بزرگتر است
    else if (temp==-1)
    date2 بزرگتر است
    آخرین ویرایش به وسیله Nima_kyan : سه شنبه 28 آذر 1391 در 17:08 عصر دلیل: اشتباه تايپي

  9. #9
    کاربر تازه وارد آواتار mehrbani
    تاریخ عضویت
    فروردین 1389
    محل زندگی
    تهران
    پست
    70

    نقل قول: مقایسه دو تاریخ شمسی

    راه درست و اصولی اون اینه که تاریخ ها رو ابتدا به میلادی تبدیل کنین و سپس در پایگاه داده به صورت DateTime ذخیره کنین

  10. #10

    نقل قول: مقایسه دو تاریخ شمسی

    نقل قول نوشته شده توسط mehrbani مشاهده تاپیک
    راه درست و اصولی اون اینه که تاریخ ها رو ابتدا به میلادی تبدیل کنین و سپس در پایگاه داده به صورت DateTime ذخیره کنین
    مگه به صورت شمسی باشه چه مشکلی پیش میاد؟ من زیاد تجربه ندارم توی این زمینه..اگه میشه با دلیل توضیح بدین..ممنون میشم

  11. #11

    نقل قول: مقایسه دو تاریخ شمسی

    سلام
    دوستان منم با همین موضوع درگیر هستم
    موندم چطوری ذخیره کنم
    اگه بخوایم تبدیل کنیم و بصورت DateTime ذخیره کنیم کسی می تونه راهنمایی کنه

  12. #12
    کاربر تازه وارد آواتار Ghaem66
    تاریخ عضویت
    فروردین 1389
    محل زندگی
    قبلا لنگرود
    سن
    36
    پست
    82

    نقل قول: مقایسه دو تاریخ شمسی

    به نظر من در مواردی که نیاز میشه رو تاریخ عملیاتی انجام بدیم تاریخ رو به صورت میلادی و datetime ذخیره کنیم خیلی بهتره. اگه هم تبدیل تاریخ به شمسی و میلادی واستون سخته میتونید یه فیلد اضافه برای جدولتون در نظر بگیرید و تاریخ میلادی متناسب با تاریخ شمسی رو داخلش ذخیره کنید و واسه عملیات از تاریخ میلادی و واسه نمایش از تاریخ شمسی استفاده کنید. البته این فقط یه پیشنهاد بود

  13. #13

    نقل قول: مقایسه دو تاریخ شمسی

    نقل قول نوشته شده توسط mehrbani مشاهده تاپیک
    راه درست و اصولی اون اینه که تاریخ ها رو ابتدا به میلادی تبدیل کنین و سپس در پایگاه داده به صورت DateTime ذخیره کنین
    نقل قول نوشته شده توسط Ghaem66 مشاهده تاپیک
    به نظر من در مواردی که نیاز میشه رو تاریخ عملیاتی انجام بدیم تاریخ رو به صورت میلادی و datetime ذخیره کنیم خیلی بهتره. اگه هم تبدیل تاریخ به شمسی و میلادی واستون سخته میتونید یه فیلد اضافه برای جدولتون در نظر بگیرید و تاریخ میلادی متناسب با تاریخ شمسی رو داخلش ذخیره کنید و واسه عملیات از تاریخ میلادی و واسه نمایش از تاریخ شمسی استفاده کنید. البته این فقط یه پیشنهاد بود
    به قول دوستمون
    مگه به صورت شمسی باشه چه مشکلی پیش میاد؟

    هر عملیاتی رو که بخوایم میتونیم با تاریخ شمسی هم پیاده کنیم.

  14. #14
    کاربر دائمی
    تاریخ عضویت
    تیر 1389
    محل زندگی
    به جبر روزگار تهران هستم.
    پست
    2,718

    نقل قول: مقایسه دو تاریخ شمسی

    ببینید همونطور که Nima_kyan هم گفتن هر عملیاتی رو بخوایم میتونیم روی تاریخ شمسی ( بصورت رشته )انجام بدیم ولی ممکنه در بعضی موارد به چند خط کدنویسی نیاز پیدا کنید ولی برای نوع datetime یک سری توابع از پیش آماده شده وجود داره ( مثلا تفاوت دو تاریخ بر حسب روز یا ماه و ...یا اضافه کردن یه مقدار مشخص مثلا 2 روز به همه تاریخ ها و ...). اگر قرار باشه نوع رشته ای در نظر بگیرید (که خودمم به همین صورت استفاده میکنم) برای چنین حالاتی خودتون باید کدنویسی کنید ولی در کل به نظرم نمی ارزه آدم datetime ذخیره کنه و بعد بخواد اونو به شمسی تبدیل کنه. این دیگه بستگی به نظر و نیاز شما داره.
    موفق باشید.

  15. #15
    کاربر تازه وارد آواتار Ghaem66
    تاریخ عضویت
    فروردین 1389
    محل زندگی
    قبلا لنگرود
    سن
    36
    پست
    82

    نقل قول: مقایسه دو تاریخ شمسی

    شاید بشه هر عملیاتی رو تو سی شارپ با کد نویسی رو تاریخ شمسی انجام داد. اما داخل دستورات sql نمیشه به سادگی عملیات تاریخی رو روی تاریخ شمسی که به صورت رشته ذخیره شده رو انجام داد.

  16. #16
    کاربر دائمی
    تاریخ عضویت
    تیر 1390
    محل زندگی
    کرمانشاه
    پست
    1,487

    نقل قول: مقایسه دو تاریخ شمسی

    در کل منم 2 تا فیلد برای تاریخ داریم . یکی میلادی و از نوع DateTime ، و در نهایت یکی هم که معادل شمسی اون هست به صورت NvarChar و شمسی هست .

    اما باید بگم که فکر کنم در SQL SErver 2008 و بالاتر میشه شمسی و به صورت DateTime ذخیره کرد .

    فکر کنم توابغ هم به راحتی چون DateTime هست ، کار کنند !

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

  1. مبتدی: مشکل در مقایسه تاریخ شمسی
    نوشته شده توسط aliasghar2 در بخش C#‎‎
    پاسخ: 5
    آخرین پست: دوشنبه 24 مرداد 1390, 11:03 صبح
  2. حرفه ای: اعمال مقایسه ای روی تاریخ شمسی
    نوشته شده توسط hahaie در بخش C#‎‎
    پاسخ: 10
    آخرین پست: سه شنبه 20 اردیبهشت 1390, 10:03 صبح
  3. سوال: مقایسه دو تاریخ شمسی
    نوشته شده توسط f_arab در بخش VB.NET
    پاسخ: 3
    آخرین پست: سه شنبه 18 آبان 1389, 11:05 صبح
  4. تاریخ شمسی در فرم های asp
    نوشته شده توسط bernadet730 در بخش ASP.NET Web Forms
    پاسخ: 5
    آخرین پست: شنبه 16 آذر 1387, 12:42 عصر
  5. تاریخ شمسی - میلادی
    نوشته شده توسط SReza1 در بخش مباحث عمومی دلفی و پاسکال
    پاسخ: 1
    آخرین پست: دوشنبه 10 شهریور 1382, 23:12 عصر

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

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