C# 计算上午9:00到下午6:00之间的时间

C# 计算上午9:00到下午6:00之间的时间,c#,C#,我和早上8点有一段关系。假设我想确认上午8:00在上午9:00到下午6:00之前。 如何检查这一点,或者如果上午11:00的时间介于上午9:00到下午6:00之间? 如何在c#?中找到它一般的方法是将时间转换成一个数字,然后可以用来比较 因此,上午8:00就是8,下午6:00就是18,因此18>8等等。通常的方法是将时间转换为一个数字,然后您可以使用该数字进行比较 因此,8:00am就是8,6:00pm就是18,因此18>8等等。可以使用函数DateTime.Parse()将字符串转换为“Dat

我和早上8点有一段关系。假设我想确认上午8:00在上午9:00到下午6:00之前。
如何检查这一点,或者如果上午11:00的时间介于上午9:00到下午6:00之间?
如何在c#?

中找到它一般的方法是将时间转换成一个数字,然后可以用来比较


因此,上午8:00就是8,下午6:00就是18,因此18>8等等。

通常的方法是将时间转换为一个数字,然后您可以使用该数字进行比较


因此,8:00am就是8,6:00pm就是18,因此18>8等等。

可以使用函数DateTime.Parse()将字符串转换为“DateTime”对象

你的出发时间是:上午9点

你的结束时间是:下午6点

因此,在这两者之间就有了距离:

下午6:00-9:00

这将为您提供一个TimeSpan对象

然后你开始你的“神秘时光”,然后做:

X:XX-9:00AM

如果生成的时间跨度大于0,并且生成的时间跨度小于6:00PM-9:00AM tiemspan,则说明您很好

或者,您可以简单地执行以下操作


if(myTime>9:00AM&&myTime<6:00PM)

函数DateTime.Parse()可用于将字符串转换为“DateTime”对象

你的出发时间是:上午9点

你的结束时间是:下午6点

因此,在这两者之间就有了距离:

下午6:00-9:00

这将为您提供一个TimeSpan对象

然后你开始你的“神秘时光”,然后做:

X:XX-9:00AM

如果生成的时间跨度大于0,并且生成的时间跨度小于6:00PM-9:00AM tiemspan,则说明您很好

或者,您可以简单地执行以下操作

如果(我的时间>上午9:00和我的时间<下午6:00)

现在
diff
包含开始日期和结束日期之间的差异


现在
diff
包含开始日期和结束日期之间的差异。

您可以使用DateTime对象、其静态解析方法和比较运算符。 如下所示:

newTime = DateTime.Parse("8:00 AM");
fixedTime = DateTime.Parse("11:00 AM");
if (newTime < fixedTime)
{
// do something
}
newTime=DateTime.Parse(“上午8:00”);
fixedTime=DateTime.Parse(“上午11:00”);
如果(新时间<固定时间)
{
//做点什么
}

如果需要,您可以从另一个日期时间中减去一个日期时间以获得时间跨度,即持续时间。

您可以使用DateTime对象、其静态解析方法和比较运算符。 如下所示:

newTime = DateTime.Parse("8:00 AM");
fixedTime = DateTime.Parse("11:00 AM");
if (newTime < fixedTime)
{
// do something
}
newTime=DateTime.Parse(“上午8:00”);
fixedTime=DateTime.Parse(“上午11:00”);
如果(新时间<固定时间)
{
//做点什么
}
如果需要,您可以从另一个日期时间中减去一个日期时间,得到一个时间跨度,即持续时间。

如何

int _dateTimeCompare = DateTime.Compare(DateTime1, DateTime2);
然后_dateTimeCompare<1=DateTime1小于DateTime2,0=它们相同,>0=DateTime2>DateTime1

这样你就可以进行比较了

介于_date1和_date2之间的简单is _myDate将是:

if (DateTime.Compare(_myDate, _date1) >= 0 && DateTime.Compare(_myDate, _date2) <= 0)
{
    // we're between _date1 and _date2
}
if(DateTime.Compare(\u myDate,\u date1)>=0&&DateTime.Compare(\u myDate,\u date2)

int _dateTimeCompare = DateTime.Compare(DateTime1, DateTime2);
然后_dateTimeCompare<1=DateTime1小于DateTime2,0=它们相同,>0=DateTime2>DateTime1

这样你就可以进行比较了

介于_date1和_date2之间的简单is _myDate将是:

if (DateTime.Compare(_myDate, _date1) >= 0 && DateTime.Compare(_myDate, _date2) <= 0)
{
    // we're between _date1 and _date2
}

if(DateTime.Compare(\u myDate,\u date1)>=0&&DateTime.Compare(\u myDate,\u date2)我看不出将字符串强制转换为DateTime变量(它们应该是)然后使用
Compare
方法执行比较的问题


此外,DateTime结构实现了诸如
=
之类的运算符。我不认为将字符串强制转换为DateTime变量(应该是这样)然后使用
比较
方法来执行比较有问题


此外,DateTime结构实现了诸如
=
之类的运算符。您可以尝试使用TimeSpan.parse或TimeSpan.TeyParse将字符串解析为TimeSpan对象

如果解析成功,您将拥有一个TimeSpan对象,该对象可以使用标准比较运算符与其他TimeSpan对象进行比较。您还可以执行加法和减法等操作来计算两个TimeSpan之间的时间,或根据时间和持续时间计算新时间

Timespan是一个非常好的小类,请不要重新发明轮子

更新

正如大脑在评论中所说,TimeSpan有点奇怪,因为它可以表示时间点和持续时间。(DateTime.TimeOfDay属性是TimeSpan,即使它是时间点)。 最好创建带有默认日期部分的DateTime对象,并将其用作计算的基础。代码的意图会更清楚。
比较、添加和删除等操作也可在DateTimes上使用,并在适用时生成DateTimes或TimeSpan。

您可以尝试使用TimeSpan.parse或TimeSpan.TeyParse将字符串解析为TimeSpan对象

String s = "8:00 AM";
DateTime dt = DateTime.Parse(s);

if (dt < DateTime.Parse("9:00 AM"))
{
    Console.WriteLine("Before");
}
else if (dt <= DateTime.Parse("6:00 PM"))
{
    Console.WriteLine("Between");
}
else
{
    Console.WriteLine("After");
}
如果解析成功,您将拥有一个TimeSpan对象,该对象可以使用标准比较运算符与其他TimeSpan对象进行比较。您还可以执行加法和减法等操作来计算两个TimeSpan之间的时间,或根据时间和持续时间计算新时间

Timespan是一个非常好的小类,请不要重新发明轮子

更新

正如大脑在评论中所说,TimeSpan有点奇怪,因为它可以表示时间点和持续时间。(DateTime.TimeOfDay属性是TimeSpan,即使它是时间点)。 最好创建带有默认日期部分的DateTime对象,并将其用作计算的基础。代码的意图会更清楚。 在DateTimes上也可以使用比较、加法和减法等操作,并在适用的情况下生成DateTimes或TimeSpan。

String s=“8
String s = "8:00 AM";
DateTime dt = DateTime.Parse(s);

if (dt < DateTime.Parse("9:00 AM"))
{
    Console.WriteLine("Before");
}
else if (dt <= DateTime.Parse("6:00 PM"))
{
    Console.WriteLine("Between");
}
else
{
    Console.WriteLine("After");
}