2012-03-06 34 views
6

Tôi cần lấy năm tôi sử dụng định dạng YYYY và tháng MM, v.v. Tôi đang tìm xem liệu có định dạng nào để lấy số tuần trong năm hay không.Số tuần của một năm trong dateformat

Ngày mà tôi đang sử dụng làm ví dụ là 2008-03-09 16:05:07.000 và tôi muốn biết số tuần là 11 trong trường hợp này. Có cách nào để truy xuất 11 theo chương trình không?

Trả lời

21

Không có định dạng mà cung cấp weeknumber, nhưng bạn có thể nhận được nó theo cách này một cách dễ dàng:

System.Globalization.CultureInfo cul = System.Globalization.CultureInfo.CurrentCulture; 
int weekNum = cul.Calendar.GetWeekOfYear(
    DateTime.Now, 
    System.Globalization.CalendarWeekRule.FirstFourDayWeek, 
    DayOfWeek.Monday); 

Để trả lời bình luận của bạn làm thế nào để có được quý của một năm của mộtnhất định:

int quarter = (int)((DateTime.Now.Month - 1)/3) + 1 
+0

Cảm ơn bạn đã phản hồi. Có, tôi đã thử những điều tương tự đã có sẵn trong một trong các bài viết. Bây giờ tôi đã thử một điều tương tự cho GetDayofWeek như thế này. System.Int32 dayofweek = ((Int32) CultureInfo.CurrentCulture.Calendar.GetDayOfWeek (dt)); nhưng khi tôi cố gắng thay thế bằng chuỗi mà tôi nhập, tôi nhận được lỗi "Chuỗi đầu vào không có định dạng đúng" .Đây là mã của tôi để thay thế: lformat = new stringbuilder (dt.lower()). Replace (" dw ", dayofweek.ToString()). Bất kỳ đề xuất về điều này. Cũng có cách để tìm số quý của năm. – user1031746

+0

@ user1031746: đã chỉnh sửa câu trả lời của tôi để chỉ cho bạn cách bạn nhận được quý của một năm. –

+0

Có, cảm ơn một lần nữa. Tôi đang sử dụng "chuỗi quý = (((dt.Month - 1)/3) + 1). ToString();" nhưng bạn dường như đơn giản hơn tôi. – user1031746

Các vấn đề liên quan