كيف أقرأ قيمة زمنية ثم أدرجها في متغير TimeSpan
سؤال
كيف أقرأ قيمة زمنية ثم أدرجها في متغيرات TimeSpan؟
المحلول
إذا فهمت بشكل صحيح أنك تحاول الحصول على بعض مدخلات المستخدم في شكل "08:00" وتريد تخزين الوقت في متغير زمني؟
لذا..شيء من هذا القبيل؟
string input = "08:00";
DateTime time;
if (!DateTime.TryParse(input, out time))
{
// invalid input
return;
}
TimeSpan timeSpan = new TimeSpan(time.Hour, time.Minute, time.Second);
نصائح أخرى
من MSDN:يمثل كائن TimeSpan فاصل زمني، أو مدة زمنية، يتم قياسها بعدد موجب أو سالب من الأيام والساعات والدقائق والثواني وكسور الثانية.أكبر وحدة زمنية تستخدم لقياس المدة هي يوم واحد.
إليك كيفية تهيئته إلى CurrentTime (بالعلامات):
TimeSpan ts = new TimeSpan(DateTime.Now.Ticks);
TimeSpan span = new TimeSpan(days,hours,minutes,seconds,milliseonds);
أو إذا كنت تقصد DateTime:
DateTime time = new DateTime(year,month,day,minutes,seconds,milliseconds);
حيث تكون كافة المعلمات ints.
ربما باستخدام:
var span = new TimeSpan(hours, minutes, seconds);
إذا كنت تقصد إضافة نطاقين زمنيين معًا، فاستخدم:
var newSpan = span.Add(new TimeSpan(hours, minutes, seconds));
لمزيد من المعلومات، راجع msdn.
لا يمكنك تغيير خصائص TimeSpan.تحتاج إلى إنشاء مثيل جديد وتمرير القيم الجديدة هناك.
لا تنتمي إلى StackOverflow