Trong ứng dụng C# của tôi, tôi chuyển một biến chuỗi có định dạng yyyymmdd-yyyymmdd đại diện cho một từ và cho đến nay. Tôi muốn có thời gian bắt đầu và kết thúc cho những ngày này tương ứng. Hiện tại tôi có mã dưới đây nhưng đã tự hỏi liệu có nhiều giải pháp thanh lịch hơn không?Cách nhận thời gian bắt đầu và kết thúc trong một ngày
Vì vậy, đối PDR = 20.090.521-20.090.523 sẽ nhận được "20.090.521 00:00:00" và "20.090.523 23:59:59"
private void ValidateDatePeriod(string pdr, out DateTime startDate,
out DateTime endDate)
{
string[] dates = pdr.Split('-');
if (dates.Length != 2)
{
throw new Exception("Date period is of incorrect format");
}
if (dates[0].Length != 8 || dates[1].Length != 8)
{
throw new Exception("Split date periods are of incorrect format");
}
startDate = DateTime.ParseExact(dates[0] + " 00:00:00",
"yyyyMMdd HH:mm:ss", null);
endDate = DateTime.ParseExact(dates[1] + "23:59:59",
"yyyyMMdd HH::mm:ss", null);
}
Như những người khác đã nói, EndOfDay có lẽ là một cấu trúc không cần thiết và không chính xác, vì nó không có thời điểm xác định, ngoại trừ có lẽ StartOfDay của ngày mai. – user420667