Time Span Là Gì

  -  

Giả sử tôi có 80 giây, có lớp / chuyên môn chuyên sử dụng nào trong .NET cho phép tôi đổi khác 80 giây kia thanh lịch định dạng (00h: 00m: 00s: 00ms) nhỏng DateTime tuyệt gì không?


Đối cùng với .Net TimeSpan t = TimeSpan.FromSeconds( secs );string answer = string.Format("0:D2h:1:D2m:2:D2s:3:D3ms", t.Hours, t.Minutes, t.Seconds, t.Milliseconds);(Theo ghi nhấn của Inder Kumar Rathore) Đối cùng với .NET> 4.0, chúng ta có thể sử dụng

TimeSpan time = TimeSpan.FromSeconds(seconds);//here backslash is must lớn tell that colon is//not the part of format, it just a character that we want in outputstring str = time .ToString(
"hh:mm:ss:fff");(Từ Niông xã Molyneux) Đảm bảo rằng giây thấp hơn TimeSpan.MaxValue.TotalSecondsnhằm rời ngoại lệ.

Bạn đang xem: Time span là gì


Đối cùng với .NET> 4.0 chúng ta cũng có thể sử dụng

TimeSpan time = TimeSpan.FromSeconds(seconds);//here backslash is must lớn tell that colon is//not the part of format, it just a character that we want in outputstring str = time .ToString(
"hh:mm:ss:fff");hoặc trường hợp bạn có nhu cầu format ngày giờ thì chúng ta có thể làm điều này

TimeSpan time = TimeSpan.FromSeconds(seconds);DateTime dateTime = DateTime.Today.Add(time);string displayTime = dateTime.ToString("hh:mm:tt");Để biết thêm, bạn cũng có thể kiểm tra Chuỗi định dạng TimeSpan tùy chỉnh


"hh:mm:ss:fff");sẽ bao gồm 24hrformat. HHchưa hợp lệ nghỉ ngơi kia cùng với nguồn vào như vậy ( lỗi làInput string was not in a correct format. )

Nếu chúng ta biết chúng ta gồm một trong những giây, bạn có thể tạo ra quý giá TimeSpan bằng phương pháp gọi TimeSpan.FromSeconds:

TimeSpan ts = TimeSpan.FromSeconds(80);Sau kia, chúng ta cũng có thể đã đạt được số ngày, giờ đồng hồ, phút hoặc giây. Hoặc áp dụng một trong những thừa sở hữu ToString nhằm xuất nó theo bất kỳ phương pháp làm sao bạn có nhu cầu.


Tôi vẫn làm một trong những điểm chuẩn giúp xem biện pháp nhanh hao duy nhất với đấy là kết quả với Tóm lại của tớ. Tôi đã chạy từng cách tiến hành 10 triệu lần với thêm một dìm xét với thời gian trung bình cho từng lần chạy.

Xem thêm: Nano Coin Là Gì - Thông Tin Mới Nhất Về Raiblocks Nano 27/07/2021

Nếu mili giây nguồn vào của bạn không trở nên số lượng giới hạn trong một ngày (kết quả của chúng ta cũng có thể là 143: 59: 59.999), đấy là các tùy lựa chọn, từ bỏ nkhô giòn rộng đến lờ đờ hơn:

// 0.86 msstatic string Method1(int millisecs) int hours = millisecs / 3600000; int mins = (millisecs % 3600000) / 60000; // Make sure you use the appropriate decimal separator return string.Format("0:D2:1:D2:2:D2.3:D3", hours, mins, millisecs % 60000 / 1000, millisecs % 1000);// 0.89 msstatic string Method2(int millisecs) double s = millisecs % 60000 / 1000.0; millisecs /= 60000; int mins = millisecs % 60; int hours = millisecs / 60; return string.Format("0:D2:1:D2:2:00.000", hours, mins, s);// 0.95 msstatic string Method3(int millisecs) TimeSpan t = TimeSpan.FromMilliseconds(millisecs); // Make sure you use the appropriate decimal separator return string.Format("0:D2:1:D2:2:D2.3:D3", (int)t.TotalHours, t.Minutes, t.Seconds, t.Milliseconds);Nếu mili giây đầu vào của doanh nghiệp bị số lượng giới hạn vào một ngày (kết quả của bạn sẽ ko bao giờ lớn hơn 23: 59: 59.999), đây là những tùy chọn, từ nhanh khô rộng mang lại chậm trễ hơn:

"hh:mm:ss.fff");}// 0.93 msstatic string Method6(int millisecs) TimeSpan t = TimeSpan.FromMilliseconds(millisecs); // Make sure you use the appropriate decimal separator return string.Format("0:D2:1:D2:2:D2.3:D3", t.Hours, t.Minutes, t.Seconds, t.Milliseconds);Trong ngôi trường phù hợp nguồn vào của bạn chỉ nên vài ba giây , các thủ tục nhanh khô rộng một ít. Một đợt tiếp nhữa, trường hợp giây đầu vào của bạn không bị số lượng giới hạn trong một ngày (công dụng của chúng ta cũng có thể là 143: 59: 59):

// 0.63 msstatic string Method1(int secs) int hours = secs / 3600; int mins = (secs % 3600) / 60; secs = secs % 60; return string.Format("0:D2:1:D2:2:D2", hours, mins, secs);// 0.64 msstatic string Method2(int secs) int s = secs % 60; secs /= 60; int mins = secs % 60; int hours = secs / 60; return string.Format("0:D2:1:D2:2:D2", hours, mins, s);// 0.70 msstatic string Method3(int secs) TimeSpan t = TimeSpan.FromSeconds(secs); return string.Format("0:D2:1:D2:2:D2", (int)t.TotalHours, t.Minutes, t.Seconds);Và giả dụ số giây nguồn vào của khách hàng bị giới hạn trong một ngày (kết quả của các bạn sẽ ko bao giờ lớn hơn 23:59:59):

"hh:mm:ss");}// 0.70 msstatic string Method6(int secs) TimeSpan t = TimeSpan.FromSeconds(secs); return string.Format("0:D2:1:D2:2:D2", t.Hours, t.Minutes, t.Seconds);Như một bình luận cuối cùng, hãy nhằm tôi thêm rằng tôi nhận ra rằng string.Formatnó nkhô hanh hơn một chút nếu bạn sử dụng D2cố bởi 00.


TimeSpan.FromSeconds(80);http://msdn.microsoft.com/en-us/l Library / system.timespan.fromseconds.aspx


Hàm tạo TimeSpan có thể chấp nhận được các bạn thừa qua vào vài giây. Chỉ đề nghị knhị báo một phát triển thành loại TimeSpan số giây. Ví dụ:

TimeSpan span = new TimeSpan(0, 0, 500);span.ToString();
Tôi khuim bạn nên thực hiện TimeSpanlớp học này.

Xem thêm: Ea Là Đơn Vị Ea Có Nghĩa Là Gì? Viết Tắt Của Từ Gì? Có Nên Sử Dụng Ea Robot Hay Không

public static void Main(string<> args) TimeSpan t = TimeSpan.FromSeconds(80); Console.WriteLine(t.ToString()); t = TimeSpan.FromSeconds(868693412); Console.WriteLine(t.ToString());Đầu ra:

00:01:2010054.07:43:32
Trong VB.NET, nhưng lại nó như thể nhau trong C #:

Dyên x As New TimeSpan(0, 0, 80)debug.print(x.ToString())" Will print 00:01:trăng tròn
Đối cùng với .NET TimeSpan.ToString(string format)hành động nhỏng .NET> 4.0

public static class TimeSpanExtensions public static string ToString(this TimeSpan time, string format) DateTime dateTime = DateTime.Today.Add(time); return dateTime.ToString(format); Và tự bất kể chỗ nào trong mã của người sử dụng, chúng ta cũng có thể áp dụng nó như:

var time = TimeSpan.FromSeconds(timeElapsed);string formattedDate = time.ToString("hh:mm:ss:fff");Bằng biện pháp này, bạn cũng có thể định hình ngẫu nhiên TimeSpanđối tượng người dùng làm sao bằng phương pháp call ToString từ bất kỳ nơi nào trong mã của công ty.


Tại sao những bạn bắt buộc TimeSpan DateTime nếu bọn họ tất cả DateTime.AddSeconds ()?

var dt = new DateTime(2015, 1, 1).AddSeconds(totalSeconds);Ngày là tùy ý. TotalSeconds rất có thể to hơn 59 cùng nó là gấp rất nhiều lần. Sau đó, bạn cũng có thể format thời gian của bản thân theo nguyện vọng bởi DateTime.ToString ():

dt.ToString("H:mm:ss");Điều này sẽ không vận động giả dụ TotalSeconds 59:

new DateTime(2015, 1, 1, 0, 0, totalSeconds)
private string ConvertTime(double miliSeconds) var timeSpan = TimeSpan.FromMilliseconds(totalMiliSeconds); // Converts the total miliseconds khổng lồ the human readable time format return timeSpan.ToString(
"hh:mm:ss:fff");//Kiểm tra

public void ConvertTime_ResturnsCorrectString(double totalMiliSeconds, string expectedMessage) // Arrange var obj = new Class();; // Act var resultMessage = obj.ConvertTime(totalMiliSeconds); // Assert Assert.AreEqual(expectedMessage, resultMessage);
1. OP trải đời đổi khác tự giây, không hẳn mili giây. 2. Câu vấn đáp của doanh nghiệp tốt rộng câu vấn đáp hiện tại được đồng ý như thế nào?
để có được tổng số giây

var i = TimeSpan.FromTicks(startDate.Ticks).TotalSeconds;với để có được datetime từ giây

var thatDateTime = new DateTime().AddSeconds(i)
Vấn đề này đang trở lại nghỉ ngơi format hh: mm: ss

public static string ConvertTime(long secs) TimeSpan ts = TimeSpan.FromSeconds(secs); string displayTime = $"ts.Hours:ts.Minutes:ts.Seconds"; return displayTime;
Bạn không phải đã trải nghiệm điều đó. ConvertTime(80)trả lại 0:1:20với ConvertTime(61)trả lại 0:1:1, cả nhị phần nhiều được h:m:s. Sử dụng phxay nội suy chuỗi cũng dẫn đến mã dài thêm hơn ToString(), như được sử dụng trong các câu trả lời khác, với cũng khiến cho Việc hình dung độ dài chuỗi được format khó rộng.
Lúc áp dụng trang web của chúng tôi, chúng ta xác nhận rằng bạn đang hiểu và đọc Chính sách cookie và Chính sách bảo mật thông tin của công ty chúng tôi.