int MM;
int DD;
int YYYY;
switch(MM)
{
case 1:
DD = 31;
break;
case 2:
DD = 28;
LDD = 29;
break;
case 3:
DD = 31;
break;
case 4:
DD = 30;
break;
case 5:
DD = 31;
break;
case 6:
DD = 30;
break;
case 7:
DD = 31;
break;
case 8:
DD = 31;
break;
case 9:
DD = 30;
break;
case 10:
DD = 31;
break;
case 11:
days = 30;
break;
case 12:
DD = 31;
break;
default:
{
Console.WriteLine("Invalid option");
}
}
if(Date == MM/DD/YYYY)
string Date = Console.ReadLine();
我正在尝试编写一个接受日期为字符串的代码,并且只能采用此格式mm / dd / yyyy,并且时间必须仅以此格式接受10:00 AM 通过使用DateTime,我得到的格式是10:00:00,我不想要的小时,分钟,秒格式。
我不想使用try catch,exception。
答案 0 :(得分:5)
使用DateTime.ParseExact并在这些指南后写下你的格式字符串:
答案 1 :(得分:0)
您可以使用DateTime.ParseExact方法并在第二个参数中编写格式定义。
答案 2 :(得分:0)
我建议DateTime.TryParseExact,这将检查字符串是否是您想要的格式,如果不是,则返回false,如果是,则返回true并填充日期。
答案 3 :(得分:0)
你应该使用DateTime.TryParseExact
,因为这种方法不会引发无效日期的异常:
DateTime parsed;
var input = "08/03/2013 08:30AM";
if (DateTime.TryParseExact(input, "MM/dd/yyyy hh:mmtt", CultureInfo.InvariantCulture, DateTimeStyles.None, out parsed))
Console.WriteLine("ok");
else
Console.WriteLine("not ok");