gpt4 book ai didi

c# - 一周的开始和结束时间

转载 作者:太空宇宙 更新时间:2023-11-03 12:57:14 25 4
gpt4 key购买 nike

我有这个字符串表示开始时间(从午夜开始以秒为单位)和从周日到周六的持续时间(以秒为单位)。

0 0 79200 21600 36000 18000 0 0 21600 43200 0 0 0 0

分解

0 0表示星期天没有开始或结束
79200 21600 表示周一晚上 10 点开始,周二凌晨 4 点结束
36000 18000 表示周二上午 10 点开始,周二下午 3 点结束
0 0表示星期三没有开始或结束
21600 43200 表示星期四早上 6 点开始,星期四下午 6 点结束
0 0表示星期五没有开始或结束
0 0表示星期六没有开始或结束

上面代表下面

hours of days of week chart

我如何报告每一天的开始时间和结束时间。考虑到窗口可能跨越午夜。

我现在有这个

int monstart;
TimeSpan monstartint = TimeSpan.FromSeconds(monstart);
int monduration;
int monend = monstart + monduration;

但这正确显示了开始时间,但它显示结束时间为 1.04:00:00

我想要这样的东西

周一 22:00:00 --> 周二 04:00:00

最佳答案

假设您可以使用 string.Splitint.Parse 将您的值放入两个数组:startTimesdurations 每个长度为 7。

for (int day = 0; day < 7; day++)
{
TimeSpan start = TimeSpan.FromSeconds(startTimes[day]);
TimeSpan duration = TimeSpan.FromSeconds(durations[day]);
TimeSpan end = start + duration;
int endDay = day;

if (end.TotalHours > 24)
{
end = end - TimeSpan.FromHours(24);
endDay = (endDay + 1)% 7;
}

// Period is from day, start to endDay, end
// Convert day to (DayName) and output it

}

关于c# - 一周的开始和结束时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33492162/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com