2012-03-06 101 views
6

我需要获取年份,我使用的格式为YYYYMM,依此类推。我期待看看是否有一种格式来获得一年的周数。dateformat中的一年的周数

我用作例子的日期是2008-03-09 16:05:07.000,我想知道在这种情况下的星期编号是11。有没有办法以编程方式检索11

回答

21

有没有格式,提供了weeknumber,但你可以通过这种方式得到它容易:

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

为了回答您的评论如何获得给定的一年的季度:

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

感谢您的回应。是的,我尝试了其中一篇文章中提供的相同内容。现在我为这样的GetDayofWeek尝试了类似的东西。 System.Int32 dayofweek =((Int32)CultureInfo.CurrentCulture.Calendar.GetDayOfWeek(dt));但是当我尝试用我输入的字符串进行替换时,出现错误“输入字符串格式不正确”。这是我的代码:lformat = new stringbuilder(dt.lower())。Replace(“ dw“,dayofweek.ToString())。对此有任何建议。还有一种方法可以找到一年的季度数字。 – user1031746 2012-03-07 14:01:34

+0

@ user1031746:编辑我的答案,告诉你如何得到一年的季度。 – 2012-03-07 14:20:54

+0

是的,再次感谢。我正在使用“string quarter =(((dt.Month - 1)/ 3)+ 1).ToString();”但你的看起来比我的简单。 – user1031746 2012-03-07 14:36:35