TimeSpan lateaftertime = new TimeSpan();
lateaftertime = lateafter - Convert.ToDateTime(intime);
i lateaftertime her zaman pozitif bir sonuç almak istiyoruz .. bana yardım edin ..
TimeSpan lateaftertime = new TimeSpan();
lateaftertime = lateafter - Convert.ToDateTime(intime);
i lateaftertime her zaman pozitif bir sonuç almak istiyoruz .. bana yardım edin ..
Tamam, bu şekilde göründüğünden C# kullandığınızı varsayacağım.
TimeSpan
sınıfındaki -
işleci aşırı yüklendi, bu nedenle yapmanız gereken tek şey, bir tamsayı üzerinde dönüştürme işlemini gerçekleştirirseniz, yaptığınız hesaplamayı -
ile önek olarak yapmaktır. Bir negatif olmayan yayılma almak için lateaftertime.Duration()
kullanabilirsiniz
var inTime = "19-Jan-2012 21:00";
var lateAfter = Convert.ToDateTime("19-Jan-2012 20:00");
TimeSpan lateAfterTime = lateAfter - Convert.ToDateTime(inTime);
var positiveLateAfterTime =
lateAfterTime < TimeSpan.Zero
?
-lateAfterTime
:
lateAfterTime;
Console.WriteLine(positiveLateAfterTime.ToString());
: Burada bir konsol App çalışabilir bazı kodudur.
Böyle bir şeye gerek yok, sadece "Duration()" değerini kullanın. Mutlak bir "TimeSpan" – V4Vendetta
@ V4Vendetta: Bunu hiç bilmiyordum. Her gün bir şeyler öğren. Bu daha hoş bir yaklaşım. Cevabımı güncelledim. – recursive
Cevabınızı değiştirmek yerine, @ V4Vendetta'ya hak ettiği tanımalarını göndermesini istediniz. Bu tamamen benim kişisel düşüncem ama bence cevabının telafisini almanız haksızlık. – julealgon
Sen Math.abs() kullanabilirsiniz:
lateaftertime = new TimeSpan(Math.Abs(lateaftertime.Ticks));
Kullanıcı V4Vendetta olsa bir yorum doğru kararı verdik. TimeSpan.Duration özelliğini kullanın, her zaman mutlak değeri döndürür.
Muhtemel iki kopyası [Negatif zaman açıklığını ele alın] (https://stackoverflow.com/questions/1018643/handle-negative-time-spans) – Michael