我想与以下日期进行比较:
我有一个变量 DateTime,我想比较这个变量的 TIME 是否小于实际 TIME ...
前任:
Datetime DateT = new DateTime.Now;
string Myvariable = "13:00:36";
我想与以下日期进行比较:
我有一个变量 DateTime,我想比较这个变量的 TIME 是否小于实际 TIME ...
前任:
Datetime DateT = new DateTime.Now;
string Myvariable = "13:00:36";
您可以使用DateTime.TryParseExact 方法 和DateTime.TimeOfDay 属性,如下所示
string value = "13:00:36";
DateTime dt;
if (DateTime.TryParseExact(value, "HH:mm:ss", CultureInfo.InvariantCulture,
DateTimeStyles.None, out dt))
{
if (dt.TimeOfDay > DateTime.Now.TimeOfDay)
{
// greater than actual time
}
else
{
// smaller than actual time
}
}
由于您有时间以字符串格式进行比较,因此很难进行比较。您可以做的是通过提供正确的格式字符串将其转换为日期时间。现在您有两个 DateTime 对象,您可以通过TimeOfDay
属性获取这些对象的时间并进行比较..
您是否尝试过使用该DateTime
变量?像这样的东西:
DateTime date1 = new DateTime(2013, 1, 1, 13, 00, 36);
DateTime dateNow = new DateTime.Now;
Console.WriteLine(date1.ToString("T", CultureInfo.CreateSpecificCulture("es-ES")));
// Outputs 6:30:00
Console.WriteLine(date1.ToString("U", CultureInfo.CreateSpecificCulture("en-US")));
// Outputs Tuesday, January 1, 2013 13:00:36 PM
Console.WriteLine(dateNow.ToString());
// Outputs the current date/time
然后您可以创建另一个 DateTime 并将它们作为DateTime
变量而不是字符串进行比较,尽管您仍然可以使用date1.ToString()
函数将值作为字符串输出。
有关它的更多信息:http: //msdn.microsoft.com/en-us/library/az4se3k1.aspx
希望能帮助到你。
使用以下代码将时间字符串作为 DateTime 实例获取:
DateTime DateT = new DateTime.Now;
string Myvariable = "13:00:36";
DateTime parsedTime = DateTime.ParseExact(
Myvariable,
"HH:mm:ss",
CultureInfo.InvariantCulture);
将parsedTime
具有字符串变量中给出的时间分量(小时、分钟、秒),但它会有不同的 date。字符串中不存在年、月和日组件,因此它们将默认为DateTime.MinValue.Date
. 为了正确比较,您只需要比较时间部分:
bool isParsedGreater = parsedTime.Hours > DateT.Hours
&& parsedTime.Minutes > DateT.Minutes
&& parsedTime.Seconds > DateT.Seconds;