PDA

View Full Version : کم کردن دو تاریخ از هم در C#



eL2rado
دوشنبه 26 بهمن 1388, 05:47 صبح
سلام ...
چطور میشه در C# دو تا تاریخ که از جنس datetime هستن رو از هم کم کنم و در خروجی نشون بدم. مثلا 2/15/2010 12:56:56 AM را از 2/16/2010 11:30:44 AM کم کنیم.
اگر به این شکل امکانپذیر نیست، با نمایش ساده تر تاریخ، امکانپذیر میشه؟؟ مثلا فقط روزها را از هم کم کند

hamid_200611
دوشنبه 26 بهمن 1388, 12:35 عصر
سلام

DateTime startTime = DateTime.Now;

DateTime endTime = DateTime.Now.AddSeconds( 75 );

TimeSpan span = endTime.Subtract ( startTime );

online_mansoor2007
دوشنبه 26 بهمن 1388, 20:52 عصر
تابع datediff

eL2rado
دوشنبه 26 بهمن 1388, 23:57 عصر
سلام

DateTime startTime = DateTime.Now;

DateTime endTime = DateTime.Now.AddSeconds( 75 );

TimeSpan span = endTime.Subtract ( startTime );

تشکر،بدردم خورد. ولی یه مشکلی اینجا هست: میخوام یه تاریخی رو از دیتابیس بخونمش و با "7روز" جمعش کنم یعنی
DateTime endedtime = DatabaseDate.AddDays(7);ولی تاریخی که از دیتابیس میخونم، از جنس string میاد و نمیتونم AddDays رو روش اجرا کنم(البته جنس اون تاریخ در دیتابیس datetime هست)
تاریخ رو هم به این شکل از دیتابیس میخونم:


SqlDataAdapter da =
new SqlDataAdapter("SELECT productDate from tblProducts where prodID=11", conn);
DataTable dt = new DataTable();
da.Fill(dt);
string DatabaseDate = dt.Rows[0][0].ToString();

online_mansoor2007
سه شنبه 27 بهمن 1388, 00:20 صبح
تشکر،بدردم خورد. ولی یه مشکلی اینجا هست: میخوام یه تاریخی رو از دیتابیس بخونمش و با "7روز" جمعش کنم یعنی
DateTime endedtime = DatabaseDate.AddDays(7);ولی تاریخی که از دیتابیس میخونم، از جنس string میاد و نمیتونم AddDays رو روش اجرا کنم(البته جنس اون تاریخ در دیتابیس datetime هست)
تاریخ رو هم به این شکل از دیتابیس میخونم:


SqlDataAdapter da =
new SqlDataAdapter("SELECT productDate from tblProducts where prodID=11", conn);
DataTable dt = new DataTable();
da.Fill(dt);
string DatabaseDate = dt.Rows[0][0].ToString();




DateAdd(DateInterval.Day, 7, Now)

مثال :



DateAdd(DateInterval.Day, 7, #2/11/2009 8:22:00 PM#)

eL2rado
چهارشنبه 28 بهمن 1388, 01:57 صبح
نتیجه کم کردن دو تاریخو به این شکل نشون میده 4.22:40:38.9265588
یعنی 4روز و 22ساعت و 40دقیقه و 38ثانیه
اون عدد 9265588 یعنی چی؟؟
و چطور میشه فرم خروجی رو تغییر داد مثلا به این شکل بشه: 4d 22h 40m 38s