猿问
回到首页
个人中心
反馈问题
注册登录
下载APP
首页
课程
实战
体系课
手记
专栏
慕课教程
获取给定日期的开始周的日期c#
我试图从给定日期开始一周。例如,如果我传入 16/08/2018 的 DateTime,我希望返回 13/08/2018。我发现的一切都是找到本周的开始。
三国纷争
浏览 176
回答 3
3回答
森栏
我会做这样的事情:将日期从字符串解析为 DateTime 对象(如果需要)添加一周中的当前天数 * -1(将其变为负数)+ 1string s = "2018-08-23 13:26";DateTime dt = DateTime.ParseExact(s, "yyyy-MM-dd HH:mm", CultureInfo.InvariantCulture);DateTime startOfWeek = dt.AddDays(((int)(dt.DayOfWeek) * -1) + 1);Console.WriteLine(startOfWeek);编辑:如果您对星期日到下星期一感到困扰,那么请更改星期日以从当前日期中删除 7 天,如下所示;string s = "2018-08-17 13:26";DateTime dt = DateTime.ParseExact(s, "yyyy-MM-dd HH:mm", CultureInfo.InvariantCulture);bool isSunday = dt.DayOfWeek == 0;var dayOfweek = isSunday == false ? (int)dt.DayOfWeek : 7;DateTime startOfWeek = dt.AddDays(((int)(dayOfweek) * -1) + 1);Console.WriteLine(startOfWeek);
0
0
0
catspeake
使用日期变量获取每周的星期一和星期日。可以轻松尝试使用日期变量。DateTime date = new DateTime(2019, 12, 1);int day = (int) date.DayOfWeek;DateTime Monday = date.AddDays((-1) * (day == 0 ? 6 : day - 1));DateTime Sunday = date.AddDays((1) * (day== 0 ? day : 7 - day)); ```
0
0
0
潇湘沐
这是一个版本,为您提供一周中的星期一(假设周从星期一开始并在星期日结束)DateTime dt = DateTime.Now;DateTime startOfWeek = dt.AddDays((((int)(dt.DayOfWeek) + 6) % 7) * -1); Console.WriteLine(startOfWeek);
0
0
0
打开App,查看更多内容
随时随地看视频
慕课网APP
相关分类
C#
typedef入门问题
1 回答
继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续