我在UI中有这个基于周的导航,点击左/右箭头时,我调用了一个API,并返回了上一周/年的数字和下一周/年的数字,但现在我需要在ASP.NET Core 6中处理它。所以它使用PHP和API工作得很好。下面给出了PHP代码的请求和输出。
x1c 0d1x的数据
下面的PHP代码按预期工作。但我需要在APS.NET Core 6相同的输出。
$prev_week = date ("W", strtotime ($year. 'W' . $week . ' -1 week'));
$prev_year = date ("o", strtotime ($year. 'W' . $week . ' -1 week'));
$next_week = date ("W", strtotime ($year. 'W' . $week . ' +1 week'));
$next_year = date ("o", strtotime ($year. 'W' . $week . ' +1 week'));
字符串
如果我有周52和2023年,那么这段代码的输出将是:
prev_week 51
prev_year 2023
next_week 01
next_year 2024
型
现在我正试图将上面的代码转换为ASP.NET Core 6,但我无法获得PHP的确切输出。
因为我已经有了年和周的数字,所以我只想得到前一周和下一周,如果是年底或一年的第一周,那么前一周和前一年应该说周为1,年应该是前一年。
using System;
int prev_week = DateTime.ParseExact($"{year}-W{week}", "yyyy-'W'w", null).AddWeeks(-1).Week;
int prev_year = DateTime.ParseExact($"{year}-W{week}", "yyyy-'W'w", null).AddWeeks(-1).Year;
int next_week = DateTime.ParseExact($"{year}-W{week}", "yyyy-'W'w", null).AddWeeks(1).Week;
int next_year = DateTime.ParseExact($"{year}-W{week}", "yyyy-'W'w", null).AddWeeks(1).Year;
型
这个代码没有给我同样的结果。
我想得到相同的输出,如上图所示,从php使用viewmodel在asp.net核心6 web API。
1条答案
按热度按时间hmae6n7t1#
我建议你可以使用nodatime package,并尝试使用下面的代码:
你可以使用下面的nuget package命令来安装。
安装包NodaTime
你可以创建一个模型类:
字符串
然后你可以创建一个计算方法:
型
最后,你可以在控制器中调用它:
型
测试结果:
的数据
编辑:
型