【问题标题】:Retrieve the week number from a date [duplicate]从日期中检索周数[重复]
【发布时间】:2014-07-28 12:03:32
【问题描述】:

我正在使用以下方法来检索星期。

public int GetWeek(DateTime date)
{
    var day = (int)CultureInfo.CurrentCulture.Calendar.GetDayOfWeek(date);
    return CultureInfo.CurrentCulture.Calendar.GetWeekOfYear(date.AddDays(4 - (day == 0 ? 7 : day)), CalendarWeekRule.FirstFourDayWeek, DayOfWeek.Monday);            
}

如果周数在 0 到 9 之间,它应该返回 00 - 09 作为周数。 我该怎么做?

【问题讨论】:

  • 0009 在我看来更像是字符串而不是数字...
  • 这个问题与周数无关(特别是,它与检索周数无关)或与日期相关的任何事情。它是有关数字格式的链接问题的副本。也就是说,格式化数字是string,不再是int
  • @SujithKarivelil:请阅读问题。 OP 询问如何找出或计算周数。
  • @ O. R. Mapper:看我的回答
  • @SujithKarivelil:您在这里的问题上似乎没有任何答案。

标签: c# date week-number


【解决方案1】:

我认为,当您在寻找前导零时,您正在寻找格式化这些数字。

如果是这样,只需使用 int.ToString() 格式化您的 GetWeek 方法:

 public int GetWeek(DateTime date)
    {
        var day = (int)CultureInfo.CurrentCulture.Calendar.GetDayOfWeek(date);
        return CultureInfo.CurrentCulture.Calendar.GetWeekOfYear(date.AddDays(4 - (day == 0 ? 7 : day)), CalendarWeekRule.FirstFourDayWeek, DayOfWeek.Monday);            
    }

public string GetWeekFormatted(DateTime date)
{
    return GetWeek(date).ToString("00");
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-18
    • 2012-12-15
    • 1970-01-01
    相关资源
    最近更新 更多