c#时间如何比较?(50分)

  • 主题发起人 主题发起人 bjstar
  • 开始时间 开始时间
B

bjstar

Unregistered / Unconfirmed
GUEST, unregistred user!
代码如下:
DateTime d1=Convert.ToDateTime("2004-3-5 19:33:00");
if (CTimespan(DateTime.Now,d1))
MessageBox.Show ("时间相等!");
编译可以编译过去,但是时间一到就是不执行,转换成字符串比较就可以!
if(DateTime.Now.ToString()==d1.ToString ())
但是c#的两个时间如何比较?
 
if(DateTime.Now()==d1)
不行吗?
和其他语言是一回事的呀?
要不都是时间型的比较,要不是字符型的比较
 
d1.CompareTo(Object Value);//返回时间差值
或者
DateTime.Compare(时间1,时间2);
//相等返回0
 
To:
yf168,dcx0026你们好,谢谢你们的回答,你们所说的方法我都试过了,但是还是不行,用自负的比较方式可以但是转为时间就不行了!
如:if(DateTime.Now.ToString()==d1.ToString ()) 可以!
if(DateTime.Now()==d1)或if(DateTime.Now==d1)都不行!请论坛的dfw多多指教!
 
看看这样行不行:
DateTime dt1 = Convert.ToDateTime("2004-3-5 19:33:00");
int i = DateTime.Compare(DateTime.Now,dt1)//当Compare的第一个参数大于,等于或小于第二个参数时分别返回1,0,-1;
if(DateTime.Equals(DateTime.Now,dt1)){}//Equal函数有两个重载函数,如果相等则返回值为true,否则为false;
 

if(DateTime.Now()==d1)或if(DateTime.Now==d1)肯定是错的.因为你这是对象比较.
DateTime.Now()这个对象和d1这个对象肯定是不等的啊,比如obj1<>obj2啊
只有他们的值才有可能相等啊
 
应该这样啊:
DateTime dt1 = Convert.ToDateTime("2004-3-5 19:33:00");
DateTime dt2 = DateTime.Now();
然后if(dt1==dt2)就可以了啊
请教其余高手:d1.CompareTo(Object Value);//返回时间差值
返回的是什么类型的值?
 
To:
旋转的影子,流云之心你们好,谢谢你们的回答,你们所说的方法我都试过了,但是还是不行,用字符的比较方式可以但是转为时间就不行了! 流云之心你这样的写法是错误的:DateTime dt2 = DateTime.Now();
还有:d1.CompareTo(Object Value);你提到的
返回的是什么类型的值,是整型!
c#的时间比较怎么这么难?????????请论坛的dfw多多指教!
 
DateTime d = DateTime.Now;
DateTime c = d;
TimeSpan j = (c-d);
//事件间隔
if (j.Milliseconds==0)//看看差多少秒
{
MessageBox.Show("");
};
 
DateTime d1= System.Convert .ToDateTime (this.textBox1 .Text );
DateTime d2= DateTime.Now;
MessageBox.Show (DateTime.Compare(d1, d2).ToString ());
 
也可以通過使用
DateTime Date1= new DateTime("");
DateTime Date2= new DateTime("");
System.DateTime.TimeSpan d=Date2.Subtract(Date1);
求他們的差值
 
喔赛,晕了
 
你用DateTime.Now取得的时间精度比你要和他比较的时间要大!所以你这样比较永远都不可能相等!
 
后退
顶部