PDA

View Full Version : سوال: پیدا کردن اختلاف ساعت



مجتبی کجوری
یک شنبه 28 فروردین 1390, 10:08 صبح
سلام دوستان
این چندمین باریه که این سوال رو می پرسم ولی هنوز به جواب نرسیدم دوستان چطوری میشه اختلاف دوساعت رو بدست آورد مثلا 14:15 و 08:00 خیلی از دوستان پیشنهاد کردند از توابع datetime استفاده کنم ولی این توابع اختلاف تاریخ رو بدست می آورند نه اختلاف ساعت ضمنا نوع فیلد من هم nvarchar هست ممنون میشم اگه راهنماییم کنید.

hassan_kahrizy
یک شنبه 28 فروردین 1390, 10:34 صبح
بسمه تعالی
با سلام
شما می تونید از TimeSpan استفاده کنید
یا از همون datetime استفاده کنید که تاریخ آنها یکسان باشد ولی زمان آنها همون زمان شما باشه



TimeSpan puretime = alltime.Subtract(IdleTime);


برای تبدیل زمان رشته ای به time span هم از تابع زیر استفاده کنید


internal static TimeSpan StringToTimeSpan(string time)
{
if (string.IsNullOrEmpty(time))
return new TimeSpan(0, 0, 0);
TimeSpan result = new TimeSpan(0, 0, 0);
int sec = 0;
int min = 0;
int hour = 0;
string[] str = time.Split(':');
if (str.Length > 0)
{
switch (str.Length)
{
case 1:
sec = int.Parse(str[0]);
result = new TimeSpan(0, 0, sec);
break;
case 2:
sec = int.Parse(str[1]);
min = int.Parse(str[0]);
result = new TimeSpan(0, min, sec);

break;
case 3:
sec = int.Parse(str[2]);
min = int.Parse(str[1]);
hour = int.Parse(str[0]);
result = new TimeSpan(hour, min, sec);

break;
}
}
return result;
}