PDA

View Full Version : محاسبه اختلاف زمان به ملی ثانیه



mahan.2002
چهارشنبه 12 بهمن 1390, 00:26 صبح
با سلام
البته با استفاده از زمان سیستم این کار رو انجام بدم.

mohammad272005
چهارشنبه 12 بهمن 1390, 23:49 عصر
Console.WriteLine(DateTime.Now.Subtract(new DateTime(1977, 09, 02, 13, 00, 00, 00)).TotalMilliseconds);

mahan.2002
پنج شنبه 13 بهمن 1390, 08:40 صبح
Console.WriteLine(DateTime.Now.Subtract(new DateTime(1977, 09, 02, 13, 00, 00, 00)).TotalMilliseconds);

میشه توضیح بدید زمان اول کجاست زمان دوم کجا...مثلا میخوام قبل یه عملیات زمان اول ذخیره کنم اخر عملیات هم زمان دوم رو بگیرم بعد اختلاف شون رو محاسبه کنم...

Hajivandian
پنج شنبه 13 بهمن 1390, 09:47 صبح
سلام



DateTime a = DateTime.Now;
// عملیات های مورد نظر
DateTime b = DateTime.Now;

Console.WriteLine(a.Subtract(b).TotalMilliseconds) ;

shadi khanum
پنج شنبه 13 بهمن 1390, 11:28 صبح
میشه توضیح بدید زمان اول کجاست زمان دوم کجا...مثلا میخوام قبل یه عملیات زمان اول ذخیره کنم اخر عملیات هم زمان دوم رو بگیرم بعد اختلاف شون رو محاسبه کنم...
با توجه به سوالی که پرسیدین فک کنم شی Stopwatch بیشتر به در شما بخوره تا اینکه بخواید اختلاف دو تا زمان رو اندازه بگیرید. اگه میخواید مدت زمان انجام یه کاری رو محاسه کنی میتونی از Stopwatch استفاده کنی..
ابتدای کاری که مخوای انجام بشه اونو start میکنی و وقتی کارت تموم شد اونو Stop میکنی و برای بدست اوردن مدت زمانی که گذشته هم :

TimeSpan TimeSp = SWatchr.Elapsed;
int TimeSTR = TimeSp.Milliseconds;

ضمنا StopWatch تو این NameSpace:System.Diagnostics
موفق باشی

Salar Ashgi
پنج شنبه 13 بهمن 1390, 12:50 عصر
توسط خود عملگر تفریق هم میتوانید انجام دهید :



DateTime dt = new DateTime(2012, 1, 20);
DateTime dt2 = DateTime.Now;
MessageBox.Show((dt2 - dt).TotalDays.ToString());


موفق باشید ./

mahan.2002
پنج شنبه 13 بهمن 1390, 20:21 عصر
با سلام دوباره من میخوام زمانی زمان اختلاف کلیک رو باتن اول بین باتن دوم محاسبه شود.
اما در موقع اجرا برای ملی ثانیه یک رقم بزرگ رو نمایش میدهد و همچنین زمانی که با تن 2 رو میزنم که زمان رو از همان لحظه حساب کند این کارو نمیکنه


public partial class New_Page : System.Web.UI.Page
{
DateTime a = new DateTime();
protected void Page_Load(object sender, EventArgs e)
{
DateTime a = DateTime.Now;
}

protected void Button1_Click(object sender, EventArgs e)
{
DateTime b = DateTime.Now;
string d = (b.Subtract(a).TotalMilliseconds).ToString();
string c = (b - a).Seconds.ToString();
string f = (b - a).TotalMilliseconds.ToString();
HyperLink1.Text = d;
HyperLink2.Text = c;
HyperLink3.Text = f;
}

protected void Button2_Click(object sender, EventArgs e)
{
DateTime a = DateTime.Now;
}

shadi khanum
جمعه 14 بهمن 1390, 00:20 صبح
دوست عزیز یه بار خودت چیزی که نوشتی رو بخون! من که متوجه نشدم دقیقا چی رو و چه وقت میخوای محاسبه کنی؟ سوالت رو دقیقتر بگو

mahan.2002
یک شنبه 23 بهمن 1390, 02:59 صبح
با سلام دوباره
نمیدونم مشخصه من میخوام از زمانی که روی باتن شماره یک کلیک میشه رو تا زمانی که روی باتن شماره دو کلیک میشه رو محاسبه کنم.
اگر توجه کنید به عکس زمانی که برای ملی ثانیه در خروجی نوشه شده است یک عدد بزرگ نمایش داده است مثل این 63464612940855.7!! البته از دو راهی که دوستان گفتن رفتم ولی نتیجه یکی بود.

من یه زمانی رو میخوام حداکثر تا دورقم اعشار مثل این 0.21 نمایش بده .. کدو کامل میزارم راحت تر نظر بدین .



public partial class New_Page : System.Web.UI.Page
{
DateTime a = new DateTime();
DateTime b = new DateTime();

protected void Page_Load(object sender, EventArgs e)
{

}

protected void Button2_Click(object sender, EventArgs e)
{

b = DateTime.Now;


string d = (b.Subtract(a).TotalMilliseconds).ToString();
string c = (b - a).ToString();
string f = (b - a).TotalMilliseconds.ToString();

TimeSpan m = b - a;
f = (m.TotalMilliseconds).ToString();
string S = m.TotalSeconds.ToString();
HyperLink1.Text = d;
HyperLink2.Text = c;
HyperLink3.Text = f;
HyperLink4.Text = S;
TextBox1.Text = d;
}

protected void Button1_Click(object sender, EventArgs e)
{
a = DateTime.Now ;
}


}

mahan.2002
یک شنبه 23 بهمن 1390, 22:05 عصر
یعنی کسی از دوستان نیست بتونه راهنمایی کنه..

shadi khanum
یک شنبه 23 بهمن 1390, 23:17 عصر
دوست عزیز این کدها رو به جای کدهای خودتون بنویسید، مشکلتون حل میشه
موفق باشی
DateTime a, b;
private void button1_Click(object sender, EventArgs e)
{
a = DateTime.Now;
}

private void button2_Click(object sender, EventArgs e)
{
b = DateTime.Now;
double mil = 0;
mil = ((TimeSpan)(b - a)).TotalMilliseconds;
MessageBox.Show(Math.Round( mil,2).ToString());
}

mahan.2002
جمعه 26 اسفند 1390, 17:39 عصر
از این راه هم رفتم ولی یه عدد بزرگ نمایش میده .




http://www.novinupload.com/uploads/13319076171.jpg

mahan.2002
شنبه 27 اسفند 1390, 19:04 عصر
برای پیدا کردن اخلاف زمان کلیک روی باتن اول تا باتن دومی. به صورت اینکه ملی ثانیه : ثانیه : دقیقه . از هم جدا باشه

mahan.2002
شنبه 27 اسفند 1390, 22:07 عصر
دوستان کسی راهی رو پیشنهاد می کنه ..

mahan.2002
یک شنبه 28 اسفند 1390, 20:52 عصر
دوستان کسی نمیدونه ..:ناراحت: :گریه:

lvlaziar
یک شنبه 28 اسفند 1390, 21:39 عصر
دوست عزیز کد پست شماره 11 کاملا درسته!
یه بار دیگه کداتو چک کن!
ببین جایی اشتپ نکردی!

mahan.2002
یک شنبه 28 اسفند 1390, 21:46 عصر
میخوام اختلافشو بدست بیارم این عدده که نشون میده . اصلان معلوم نیست ثانیه کدومه دقیقه کدومه.. چطوری میشه از هم سوا شون کرد... بنظر منم درسته ولی چطوری باید ملی ثانیه ، ثانیه رو ازش دربیام

lvlaziar
یک شنبه 28 اسفند 1390, 21:55 عصر
اون کد پست شماره 11و اختلافو بر حسب میلی ثانیه بهت میده! واسه تبدیلشم 1000تا راه هست!
( اطلاعات عمومی: :لبخند:
دسی : 1/10 >1
سانتی : 1/100 >2
میلی : 1/1000 >3
میکرو : 1/1000000 >6
نانو : 1/1000000000 >9
پیکو : 1/000000000000 >12
فمتو : 1/000000000000000 >15)

mahan.2002
یک شنبه 28 اسفند 1390, 23:41 عصر
من نتونستم کاریش کنم . میشه کدش رو بزارین چطور این ها هر مقدار و جدا کنم..
فکر نمیکنم چنین عددی که در خروجی میده درست باشه اصلا اگر مبنای اون بر حسب ملی ثانیه هم باشه اختلاف کلیک که من روی باتن اول تا باتن دوم فکر نمیکنم انقد باشه . فوقش 2 ثانیه است ولی این اعداد معلوم نیست مبناش چیه؟!.
اگر به میلی ثانیه هم حساب کنید به قول شما هر ملی ثانیه تقسیم بر 1000 فوق برابر با (2*1000) هست ولی این عدد خیلی بزرگه!