PDA

View Full Version : سوال: تفریق دو تاریخ از هم ؟ و بدست اوردن تعداد روزهای بین آنها



vahdani_d
جمعه 19 اسفند 1390, 23:40 عصر
توی سایت برای کم کردن دوتا تاریخ از هم جستجو کردم (http://barnamenevis.org/archive/index.php/t-39113.html)و این کد رو یافتم که انگار برای سی شارپ نیست



Dim convert As New System.Globalization.PersianCalendar
Dim DayDiff As Integer = (convert.ToDateTime(1388, 1, 1, 12, 0, 0, 0) - convert.ToDateTime(1386, 2, 31, 12, 0, 0, 0)).Days
اما اینجور که از شواهد پیداست این کد داره دوتا تاریخ مشخص رو از هم کم میکنه من هم میخوام دوتا تاریخ رو که توی لیبل 1 و 2 قرار داره رو از هم کم کنم با این کد ها خیلی ور رفتم اما نتونستم راهنمایی میکنید راه درستش چیه ؟
و چطور باید دو تاریخ رو که به شکل 12-10-2010 و 02-09-2011 در لیبل نمایش داده شده اند و در دیتا بیسم از نوع date تعریف شده اند رو از هم کم کنم ؟

lvlaziar
شنبه 20 اسفند 1390, 07:50 صبح
اون کدی ک گذاشتی واسه ویبییییی :دی
اما این کدو واست نوشتم
تفاوت دو تاریخو به روز میده ک اگه خواستی میتونی با دستور if یا switch case به هفته ..... تبدیل کنی:گیج:

using System;
using System.Windows.Forms;

namespace Dif_DaTe
{
public partial class MDM : Form
{
public MDM()
{
InitializeComponent();
}

private void dIf_Click(object sender, EventArgs e)
{
try
{
char[] spr = new char[] {'-'};//Char joda saz, vase estefade to date.harchi mitone bashe: / :....
string[] strArray1 = d1.Text.Split(spr);
string[] strArray2 = d2.Text.Split(spr);
DateTime date1 = new DateTime(Convert.ToInt32(strArray1[0]), Convert.ToInt32(strArray1[1]),
Convert.ToInt32(strArray1[2]), 0, 0, 0, 0);//moarefi tarikhe aval,(sal,mah,roz,daqiqe,sanie......)
DateTime date2 = new DateTime(Convert.ToInt32(strArray2[0]), Convert.ToInt32(strArray2[1]),
Convert.ToInt32(strArray2[2]), 0, 0, 0, 0);//moarefi tarikhe dovom,(sal,mah,roz,daqiqe,sanie......)
r.Text = Convert.ToString(date1 - date2);//haselo b sorate roz to textbox neshon mide
}
catch(Exception ex)//modiriate exceptionhaaaaa !!! :DDDDD
{
MessageBox.Show("WHaTTT! :-O" + ex.ToString() + "\n\n\nThis Errrrrorororrrr AccOured!!! :-|",
"ErRrRroOoOoRrR", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
}
}

اینم از خود پروژه :دی

elena2007
شنبه 20 اسفند 1390, 09:31 صبح
System.Globalization.PersianCalendar calendar = new System.Globalization.PersianCalendar();
DateTime dt1 = calendar.ToDateTime(1390, 5, 15, 0, 0, 0, 0);
DateTime dt2 = calendar.ToDateTime(1390, 9, 19, 0, 0, 0, 0);
TimeSpan ts = dt2.Subtract(dt1);
int days = ts.Days;

mehdi zanjani
شنبه 20 اسفند 1390, 10:13 صبح
تفریق 2 ساعت از همدیگه که تو دیتابیس ذخیره شدن و محاسبه ثانیه بین آنها؟ این چی؟ راه بهتری هست واسش؟؟

Sajjad.Aghapour
شنبه 20 اسفند 1390, 13:31 عصر
برای این موارد از DateDiff (http://msdn.microsoft.com/en-us/library/ms189794.aspx)میتونید استفاده کنید