当前位置:编程学习 > C#/ASP.NET >>

新手求教!任意两个日期之间计算有几天!

用 DateTime怎么做?
我只会

static void  main(string[]args)
{
   DateTime dt=DateTime.Now;
   string strDate=string.Format("{0:D}",dt);
   Console.WriteLine("今天的日期为:"+strDate);
   Console.ReadLine();
} --------------------编程问答-------------------- DateTime.Now.ToString("yyyy-MM-dd")
时间差TimeSpan ts=dt1-dt2; --------------------编程问答-------------------- 了解一下 TimeSpan --------------------编程问答--------------------

using System;

 class Test
 {
    static void Main()
    {
       DateTime ts1 = DateTime.Parse("2010-6-1 01:18:55");
       DateTime ts2 = DateTime.Parse("2005-4-9 17:44:35");
       //Subtract—>一个TimeSpan值减去另一个TimeSpan值。Duration—>获取TimeSpan的绝对值。 
       TimeSpan ts = ts1.Subtract(ts2).Duration();
       Console.WriteLine(ts.Days.ToString()+"天"+ ts.Hours.ToString()+"小时"+ ts.Minutes.ToString()+"分钟"+ 

ts.Seconds.ToString()+"秒");
    }
 }
--------------------编程问答-------------------- --------------------编程问答-------------------- 若精确到时分秒,则按下面第一种方法做;若精确到天,则按第二种方法做。
DateTime dt1 = new DateTime(2011, 1, 2, 12, 0, 0);
DateTime dt2 = new DateTime(2011, 1, 5, 8, 30, 0);
TimeSpan span1 = dt2 - dt1;
Response.Write(span1.Days + "天<br/>");
span1 = dt2.Date - dt1.Date;
Response.Write(span1.Days + "天");

输出:
2天
3天 --------------------编程问答-------------------- --------------------编程问答--------------------

DateTime d1 = Convert.ToDateTime("2010-12-12");
DateTime d2 = Convert.ToDateTime("2011-01-20");

Console.WriteLine((d2 - d1).Days);
--------------------编程问答--------------------  static void Main(string[] args)
        {
            DateTime first_date;
            DateTime second_date;
            TimeSpan day;
            Console.WriteLine("***** Date Calculation App ******");
            try
            {
                Console.WriteLine("Please input the start date: \n");
                first_date = Convert.ToDateTime(Console.ReadLine());
                Console.WriteLine("Please input the end date: \n");
                second_date = Convert.ToDateTime(Console.ReadLine());
                day = first_date < second_date ? second_date - first_date : first_date - second_date;
                Console.WriteLine("The date you input has an interval of {0} days", day.Days.ToString());
            }
            catch (Exception ex)
            {
                System.Windows.Forms.MessageBox.Show(ex.Message);
            }
            
            Console.ReadLine();
        }
任意输入2个日期计算相隔日期希望对你有帮助~ --------------------编程问答-------------------- TimeSpan ts= = Convert.ToDateTime("2011-02-6").Subtract(Convert.ToDateTime("2011-1-30"));
int days = ts.days; --------------------编程问答--------------------

DateTime datetime1 = DateTime.Now;
DateTime datetime2 = DateTime.ParseExact("2010/01/01","yyyy/MM/dd",null);  //转换字符串为日期对象
TimeSpan tp = datetime1 - datetime2;
Console.Write(tp.Days);



这样就行 --------------------编程问答-------------------- --------------------编程问答-------------------- 了解一下 TimeSpan
直接减,然后 totalDay (名字不一定对),在TimeSpan里的一个属性。表示这个时间区 的总天数 --------------------编程问答-------------------- TimeSpan --------------------编程问答-------------------- TimeSpan --------------------编程问答-------------------- TimeSpan

SQL:DateDiff(Day,Day1,Day2) --------------------编程问答-------------------- 关注 --------------------编程问答-------------------- 不懂,学习,接分 --------------------编程问答--------------------
引用 2 楼 phil999 的回复:
了解一下 TimeSpan

正解 --------------------编程问答--------------------
DateTime d1 = Convert.ToDateTime("2010-12-12");
DateTime d2 = Convert.ToDateTime("2011-01-20");
TimeSpan span1 = dt2 - dt1;
Console.WriteLine(span1.Days);
--------------------编程问答--------------------
引用 19 楼 duncannjm 的回复:
DateTime d1 = Convert.ToDateTime("2010-12-12");
DateTime d2 = Convert.ToDateTime("2011-01-20");
TimeSpan span1 = dt2 - dt1;
Console.WriteLine(span1.Days);

赞同这个 --------------------编程问答--------------------
DateTime d1 = Convert.ToDateTime("2010-12-12");
DateTime d2 = Convert.ToDateTime("2011-01-20");
TimeSpan span1 = dt2 - dt1;
Console.WriteLine(span1.Days);
--------------------编程问答-------------------- --------------------编程问答--------------------  DateTime st = Convert.ToDateTime(AB.Rows[0]["MeetingStart"].ToString());
 DateTime end = Convert.ToDateTime(AB.Rows[0]["MeetingEnd"].ToString());
 DateTime nows = Convert.ToDateTime(DateTime.Now.ToShortDateString());
 TimeSpan ts1 = (TimeSpan)(end - nows);//展会是否过期
 TimeSpan ts = (TimeSpan)(st - nows);//今天离开展的天数; --------------------编程问答-------------------- --------------------编程问答-------------------- google 一下TimeSpan用法,就可以了  --------------------编程问答-------------------- http://msdn.microsoft.com/zh-cn/library/269ew577(v=VS.80).aspx --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- TimeSpan
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,