如何比较两个日期 [英] How to compare two dates

查看:110
本文介绍了如何比较两个日期的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

地狱先生,
我想比较两个日期.我正在从comobobox(cboDate,cboMonth,cboYear)中选择日期.并将其保存到gridview中.保存之前,我正在gridview中将此日期检查为以前的保存日期.

意味着我正在比较两个日期,其中一个日期在gridview中,另一个日期在组合框中(cboDate,cboMonth,cboYear).但是我在比较日期时遇到错误.我正在使用DateTime.Compare方法.

当我从组合框获取日期时,仅从日期中获取日期,而从gridview获取日期和时间.

Hell Sir,
I want to compare two date. I am picking date from comobobox (cboDate, cboMonth, cboYear). and save it into gridview. before save i am checking this date to previous save date in gridview.

Means I am comparing two date in which one is in gridview and another one in combobox (cboDate, cboMonth, cboYear). but i am getting error for comparing dates. i am using DateTime.Compare method.

When i am taking date from combobox its only take date but from gridview its taking date and time.

string doj = Convert.ToString(cboFromdate.SelectedItem.Text) + Convert.ToString(cboFromMonth.SelectedItem.Value) + Convert.ToString(cboFromYear.SelectedItem.Text);

DataTable dtTemp = new DataTable();
      dtTemp = (DataTable)Session["PreEmploymentDetail"];
      if (dtTemp != null)
      {
          for (int i = 0; i <= dtTemp.Rows.Count - 1; i++)
          {
             int result = DateTime.Compare(Convert.ToDateTime(doj), Convert.ToDateTime(dtTemp.Rows[i] ["ToDate"]));
             if(result < 0)
             {

             }




请任何人帮我....


谢谢




Please any one help me....


Thanks

推荐答案

尝试以下方法:
Try following way:
//your date from comobobox, i.e. cboMonth + cboDate + cboYear
DateTime d1 = ....
//your date from gridview
DateTime d2 = Convert.ToDateTime(GridView.rows(0).cells(1).text.ToString().Trim()).Date; 
if (d1 >= d2)
{
            MessageBox.Show("dt1 >= dt2");
}
else
{
            MessageBox.Show("dt1 < dt2");
}



您可以在此处阅读有关DateTime.Compare方法的信息,并查看其他示例:
http://msdn.microsoft.com/en-us/library/system.datetime. compare.aspx [^ ]



You can read here about DateTime.Compare Method and see other example:
http://msdn.microsoft.com/en-us/library/system.datetime.compare.aspx[^]


使用Convert.ToDateTime函数将组合框字符串转换为DateTime.
请参考以下链接:
MSDN:Convert.ToDateTime方法 [ MSDN:Convert.ToDateTime方法(字符串,IFormatProvider) [ MSDN:Convert.ToDateTime方法(字符串) [
Use Convert.ToDateTime function to convert the combobox string to DateTime.
Refer the links below:
MSDN : Convert.ToDateTime Method [^]
MSDN : Convert.ToDateTime Method (String, IFormatProvider)[^]
MSDN : Convert.ToDateTime Method (String)[^]



--Amit


您必须将两个日期转换为垂直格式,例如"MM/dd/yyyy"
或"dd/MM/yyyy",然后应用逻辑比较格式相同的日期

表示您应该按照以下步骤进行操作
1将两个日期转换为相同的日期格式,您可以使用
进行转换 ToString(您的日期格式")
2如果要使用DateTime.Compare(),则将两个日期都转换为DateTime.


You have to convert both date in perticular format like "MM/dd/yyyy"
or "dd/MM/yyyy" then apply your logic to compare date which are in same format

means you should do folowing steps
1 convert both date in same date format you can convert this using
ToString("your date format")
2 if you want use DateTime.Compare() then convert both date in DateTime.


//Correct this
//Convert This date to "MM/dd/yyyy" format
string doj = Convert.ToString(cboFromMonth.SelectedItem.Value) + Convert.ToString(cboFromdate.SelectedItem.Text)
+ Convert.ToString(cboFromYear.SelectedItem.Text);


//Add This 
DateTime cmb_date=Convert.ToDateTime(doj)
DataTable dtTemp = new DataTable();
      dtTemp = (DataTable)Session["PreEmploymentDetail"];
      if (dtTemp != null)
      {
          for (int i = 0; i <= dtTemp.Rows.Count - 1; i++)
          {
           //Correct this
           //Convert gridview date to "MM/dd/yyyy" format then compare both date 
             int result = DateTime.Compare(Convert.ToDateTime(doj), Convert.ToDateTime(dtTemp.Rows[i] ["ToDate"]));
             if(result < 0)
             {

             }


这篇关于如何比较两个日期的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆