假设有:甲 ,乙, 丙, 丁. 4个班,每天24小时.分为两个班(白班, 中夜班).甲,乙,丙,丁4个班按照规律轮渡倒班.
假设从2000年1月1日开始,倒班规律如下:-------------------------------------------------------------------------------------
(日期) | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10| 11| 12| 13| 14|......|
-----------------------------------------------------------------------------------
(白班) | 丁 | 乙 | 丙 | 甲 | 丁 | 乙 | 丙 | 甲 | 丁 | 乙 | 丙 | 甲| 丁 | 乙 | .....|
-----------------------------------------------------------------------------------
(中夜) | 甲 | 丁 | 乙 | 丙 | 丁 | 乙 | 丙 | 丁 | 乙 | 丙 | 丁 | 乙| 丙 | 甲 |......|
-------------------------------------------------------------------------------------由上图可知白班的顺序是:丁,乙,丙,甲.....依此顺序循环类推.中夜班的顺序是:甲,丁,乙,丙.....以此类推现在的问题是..我输入一个时间,怎样求出这个时间是甲?乙?丙?丁?
假设从2000年1月1日开始,倒班规律如下:-------------------------------------------------------------------------------------
(日期) | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10| 11| 12| 13| 14|......|
-----------------------------------------------------------------------------------
(白班) | 丁 | 乙 | 丙 | 甲 | 丁 | 乙 | 丙 | 甲 | 丁 | 乙 | 丙 | 甲| 丁 | 乙 | .....|
-----------------------------------------------------------------------------------
(中夜) | 甲 | 丁 | 乙 | 丙 | 丁 | 乙 | 丙 | 丁 | 乙 | 丙 | 丁 | 乙| 丙 | 甲 |......|
-------------------------------------------------------------------------------------由上图可知白班的顺序是:丁,乙,丙,甲.....依此顺序循环类推.中夜班的顺序是:甲,丁,乙,丙.....以此类推现在的问题是..我输入一个时间,怎样求出这个时间是甲?乙?丙?丁?
解决方案 »
- Excel最多可以保存多少数据?
- 事件导出问题
- C#怎样实现软件的升级
- c#用odbd连接Paradox数据库中文乱码!!!!
- 怎么对FireFox中的多窗口进行处理呢?
- c# 短信
- 请问前辈SerialPort类或者控件怎么使用的?
- 连接池问题
- 如何把回车的'ding'的一声去掉???
- 如何在别的机器上运行CS程序
- panel1有滚动条 在panel1里有好多textbox控件把滚动条拉到下端 点下端的textbox 可滚动条又回到了最上端
- 在c#中用html语法编辑好的代码,如果这时候切换一下到design界面然后再切换回来,有可能一些较长的代码会被系统自动调整为两行,这个功能很讨厌,如何取消呢?
static void Main(string[] args)
{
Console.WriteLine(GetClass(new DateTime(2008,8,8,20,0,0)));//输出为乙
} public static string GetClass(DateTime dt)
{
DateTime dtBase = new DateTime(2000, 1, 1, 0, 0, 0);
if (dt < dtBase)
return "输入不正确";
TimeSpan ts = dt - dtBase;
int days = ts.Days;
switch (days % 4)
{
case 0:
if (dt >= new DateTime(dt.Year, dt.Month, dt.Day, 8, 0, 0) && dt < new DateTime(dt.Year, dt.Month, dt.Day, 16, 0, 0))
return "丁";
else if (dt >= new DateTime(dt.Year, dt.Month, dt.Day, 16, 0, 0) && dt < new DateTime(dt.Year, dt.Month, dt.Day + 1, 0, 0, 0))
return "甲";
else
return "不在值班时间";
case 1:
if (dt >= new DateTime(dt.Year, dt.Month, dt.Day, 8, 0, 0) && dt < new DateTime(dt.Year, dt.Month, dt.Day, 16, 0, 0))
return "乙";
else if (dt >= new DateTime(dt.Year, dt.Month, dt.Day, 16, 0, 0) && dt < new DateTime(dt.Year, dt.Month, dt.Day + 1, 0, 0, 0))
return "丁";
else
return "不在值班时间";
case 2:
if (dt >= new DateTime(dt.Year, dt.Month, dt.Day, 8, 0, 0) && dt < new DateTime(dt.Year, dt.Month, dt.Day, 16, 0, 0))
return "丙";
else if (dt >= new DateTime(dt.Year, dt.Month, dt.Day, 16, 0, 0) && dt < new DateTime(dt.Year, dt.Month, dt.Day + 1, 0, 0, 0))
return "乙";
else
return "不在值班时间";
case 3:
if (dt >= new DateTime(dt.Year, dt.Month, dt.Day, 8, 0, 0) && dt < new DateTime(dt.Year, dt.Month, dt.Day, 16, 0, 0))
return "甲";
else if (dt >= new DateTime(dt.Year, dt.Month, dt.Day, 16, 0, 0) && dt < new DateTime(dt.Year, dt.Month, dt.Day + 1, 0, 0, 0))
return "丙";
else
return "不在值班时间";
default:
return "";
}
}
static void Main(string[] args)
{
string[] sDay = {"丁","乙","丙","甲"};
string[] sNight = { "甲", "丁", "乙", "丙" };
DateTime dt = Convert.ToDateTime("2000/1/1");
DateTime dn = Convert.ToDateTime("2000/1/5");//在这里输入你想要的时间
TimeSpan ts = dn - dt;
int days = ts.Days;
Console.WriteLine("白班是 " + sDay[days % 4]);
Console.WriteLine("夜班是 " + sNight[days % 4]);
}