c# - 如何在C#中基于当前日期获取前一周的编号?

标签 c#

我想在c#中获取上一年的前一周的数量。例如,今天是2015年的第1周,而我想获得最后一周,就像2014年的第52周一样。

目前我的代码是

var weekNo = currentCulture.Calendar.GetWeekOfYear(
             DateTime.Now.Date,
             currentCulture.DateTimeFormat.CalendarWeekRule,
             currentCulture.DateTimeFormat.FirstDayOfWeek);


它返回第1周。我有一个循环,该循环曾经从第1周运行到weekNo-1以获取去年的数据,但是现在weekNo-1返回0,而我希望它返回52。

所以应该是这样的

int lastweekNo = lastWeek(datetime.today);  //returns 52 for today's date, 1 for next Monday's date,..


让我知道如何实现这一目标。任何想法将不胜感激。

谢谢。

最佳答案

如果这给您当前的星期数:

currentCulture.Calendar.GetWeekOfYear(
    DateTime.Now.Date,
    currentCulture.DateTimeFormat.CalendarWeekRule,
    currentCulture.DateTimeFormat.FirstDayOfWeek);


这不给您前一周的号码吗?

currentCulture.Calendar.GetWeekOfYear(
    DateTime.Now.AddDays(-7).Date,
    currentCulture.DateTimeFormat.CalendarWeekRule,
    currentCulture.DateTimeFormat.FirstDayOfWeek);

关于c# - 如何在C#中基于当前日期获取前一周的编号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27744255/

相关文章:

c# - 自绘进度条(ListView/DataGridView)中的动画 "glow"

c# - 如何从添加/删除程序控制面板获取图标

c# - BlockingCollection<T> 是否保证移除顺序?

java - 运算符 >> 不能应用于 char 和 long 类型的操作数

c# - 在构建了所有子类之后,如何在父类(super class)中执行一些代码?

c# - 如何从 WCF 服务应用程序获取客户端地址?

c# - 如何在 C# 中设置 "First-Launch-View"

c# - 将有毒消息移至处理队列

C# 无法使用服务引用生成基于任务的操作

c# - 在 Python 中压缩 在 C# 中解压