📄 timeconverter.cs
字号:
using System;
using System.Collections.Generic;
using System.Text;
namespace TimeConvert
{
/// <summary>
/// 时间转换成语言表达类
/// </summary>
class TimeConverter
{
public static string Convert(int Hour, int Minute)
{
string result = "It is ";
if (!(((Hour >= 0) && (Hour < 13)) && ((Minute >= 0) && (Minute < 60))))
{
result += "invalid data!";
return result;
}
result += GetTimeString(Hour, Minute);
return result;
}
private static string GetTimeString(int Hour, int Minute)
{
string result = "";
string sHour = "";
string sMinute = "";
string connect = "";
if ((Hour == 0) && (Minute == 0))
{
result = "the end!";
}
else
{
if (Minute > 30)
{
if (Hour == 12)
sHour = GetNumberString(1);
else
sHour = GetNumberString(Hour + 1);
sMinute = GetNumberString(60 - Minute);
connect = " to ";
}
else if ((Minute != 0) && (Minute <= 30))
{
if (Hour == 0)
sHour = GetNumberString(12);
else
sHour = GetNumberString(Hour);
sMinute = GetNumberString(Minute);
connect = " past ";
}
else if (Minute == 0)
{
sHour = GetNumberString(Hour) + " o'clock";
}
result = sMinute + connect + sHour;
}
return result;
}
private static string GetNumberString(int Number)
{
string result = "";
string part2 = "";
string part1 = "";
if (Number <= 19)
{
part2 = GetPart(Number);
}
else
{
part2 = GetPart((int)(Number / 10 * 10));
if (Number % 10 != 0)
{
part1 = GetPart(Number % 10);
}
}
if (part1 != "")
result = part2 + " " + part1;
else
result = part2;
return result;
}
private static string GetPart(int number)
{
string result="";
switch (number)
{
case 1:
result = "one";
break;
case 2:
result = "two";
break;
case 3:
result = "three";
break;
case 4:
result = "four";
break;
case 5:
result = "five";
break;
case 6:
result = "six";
break;
case 7:
result = "seven";
break;
case 8:
result = "eight";
break;
case 9:
result = "night";
break;
case 10:
result = "ten";
break;
case 11:
result = "eleven";
break;
case 12:
result = "twelve";
break;
case 13:
result = "thirteen";
break;
case 14:
result = "fourteen";
break;
case 15:
result = "a quarter";
break;
case 16:
result = "sixteen";
break;
case 17:
result = "seventeen";
break;
case 18:
result = "eighteen";
break;
case 19:
result = "nighteen";
break;
case 20:
result = "twenty";
break;
case 30:
result = "half";
break;
case 40:
result = "forty";
break;
case 50:
result = "fifty";
break;
}
return result;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -