关于C#中时间操作的函数2007年08月13日 星期一 16:221、时间操作函数代码如下:
using System;
using System.Collections.Generic;
public class MyClass
{
public static void Main()
{
System.DateTime CurrentTime=new System.DateTime();
CurrentTime=System.DateTime.Now;
//注意以下两种用法,用+连接和,的区别。
Console.WriteLine("现在时间是:{0}",CurrentTime.ToString());
Console.WriteLine("现在时间是:"+CurrentTime.ToString());
Console.WriteLine(CurrentTime.Year+"年");
Console.WriteLine(CurrentTime.Month+"月");
Console.WriteLine(CurrentTime.Day+"日");
Console.WriteLine(CurrentTime.Hour+"时");
Console.WriteLine(CurrentTime.Minute+"分");
Console.WriteLine(CurrentTime.Second+"秒");
Console.WriteLine(CurrentTime.Millisecond+"毫秒");
RL();
}
#region Helper methods
private static void WL(object text, params object[] args)
{
Console.WriteLine(text.ToString(), args);
}
private static void RL()
{
Console.ReadLine();
}
private static void Break()
{
System.Diagnostics.Debugger.Break();
}
#endregion
}
//在Snippet Compiler下编译
2、现在的日期减过去的日期
TimeSpan timespan;
timespan = DateTime.Now.Subtract(new DateTime(1982, 7, 6));
Console.WriteLine("已经过了:"+timespan.Days.ToString());
3、用将来的日期减现在的日期(如2008年奥运会)
timespan = new DateTime(2008, 8, 8).Subtract(DateTime.Now);
Console.WriteLine("还有:"+timespan.Days.ToString());
如果过了这个时间就是负值了。
DateTime相关属性
  DateTime 日期=DateTime.Today;                  //'Today'获取当前日期
  Response.Write(日期);
  //显示2010-1-13 0:00:00
  DateTime dt = DateTime.Now;                    //'Now'获取当前时间包括年月日时分秒
  Response.Write(dt.ToString());
  //显示2010-1-13 20:36:12
  Response.Write(dt.Date.ToString());            //'Date'获取当前实例dt的日期部分
  //显示2010-1-13 0:00:00
  Response.Write(dt.Day.ToString());              //'Day'获取当前实例dt所表示是的日期为该月中的第几天,即日
  //显示13
  Response.Write(dt.DayOfWeek.ToString());        //'DayOfWeek'获取当前实例dt所表示的日期是星期几
  //显示Wednesday
  Response.Write(dt.DayOfYear.ToString());        //'DayOfYear'获取当前实例dt所表示的日期是一年中的第几天
  //显示13
  Response.Write(dt.Hour.ToString());            //'Hour'获取当前实例dt所表示日期的小时部分
  //显示20
  Response.Write(dt.Millisecond.ToString());      //'Milliscond'获取当前实例dt所表示日期的毫秒部分
  //显示687
  Response.Write(dt.Minute.ToS
tring());          //'Minute'获取当前实例dt所表示日期的分钟部分
  //显示36
  Response.Write(dt.Month.ToString());            //'Month'获取当前实例dt所表示日期的月份
  //显示1
  Response.Write(dt.Second.ToString());          //'Second'获取当前实例dt所表示日期的秒
  //显示12
  Response.Write(dt.TimeOfDay.ToString());        //'TimeOfDay'获取当前实例dt所表示日期的时间部分
  //显示20:36:12.6875000
  Response.Write(dt.Year.ToString());            //'Year'获取当前实例dt所表示日期的的年份
  //显示2010
  DateTime相关方法:
  1.Add方法:将指定的TimeSpan的值加到实例的值上
  public DateTime Add (
  TimeSpan value
  ) 参数TimeSpan包含要添加的时间间隔; 对象表示时间间隔或持续时间,按正负天数、小时数、分钟数、秒数以及秒的小数部分进行度量。如: DateTime dt = DateTime.Now;        TimeSpan ts = new TimeSpan(1, 1, 1, 1);//参数表示1天,1小时,1分钟,1秒,1毫秒        Response.Write(dt.Add(ts).ToString());2.AddDays方法:将指定的天数加到实例的值上public DateTime AddDays (
  double value
  )
  如:DateTime dt = DateTime.Now;        Response.Write(dt.AddDays(30).ToString());//多余的部分按顺序加到前面的单位
  3.AddHours:将指定的小时加到实例的值上
  4.AddMilliseconds:将指定的毫秒数加到实例的值上
  5.AddMinute:同上
  6.AddMonths:同上
  7.AddSeconds:同上
  8.AddYears:同上
  9.Compare:比较DateTime的两个实例,并返回他们的相对值的指示。
  public static int Compare (
  DateTime t1,
  DateTime t2
  )
  实例如下: DateTime dt1 = new DateTime(100);        DateTime dt2 = new DateTime(200);        if (D
ateTime.Compare(dt1, dt2) > 0)            Response.Write("dt1 > dt2");        if (DateTime.Compare(dt1, dt2) == 0)            Response.Write("dt1=dt2");        if (DateTime.Compare(dt1, dt2) < 0)            Response.Write("dt1 < dt2");
  10.CompareTo:将此实例与指定对象进行比较并返回一个对二者的相对值(int)的指示。
  如:DateTime dt1 = new DateTime(100);        DateTime dt2 = new DateTime(200);        int i=dt1.CompareTo(dt2);        Response.Write(i);
  11.DaysInMonth:返回指定年和月中的天数。
  如:int i = DateTime.DaysInMonth(2010, 1);        Response.Write(i);
  12.Equals方法:返回一个值,该值指示此实例是否与指定的 DateTime 实例相等。返回bool(true或false)
  如: DateTime dt1 = DateTime.Now.AddDays(1);        DateTime dt2 = DateTime.Now;        Response.Write(dt1.Equals(dt2));
  13.ToLongDateString 将此实例的值转换为其等效的长日期字符串表示形
式。
  14.ToLongTimeString 将此实例的值转换为其等效的长时间字符串表示形式。
  15.ToShortDateString 将此实例的值转换为其等效的短日期字符串表示形式。
  16.ToShortTimeString 将此实例的值转换为其等效的短时间字符串表示形式。
C#中对日期及时间的操作 收藏
string s1 = "19700101";
string s2 = dtpNow.Value.ToString("d"); //dtpNow是个dateTimePicker 控件
DateTime DateTime1 = DateTime.ParseExact(s1, "yyyymmdd", System.Globalization.CultureInfo.CurrentCulture);
//将"19700101"转换成日期注意格式 "yyyymmdd"
DateTime DateTime2 = DateTime.ParseExact(s2, "d", System.Globalization.CultureInfo.CurrentCulture);
TimeSpan ts = DateTime2 - DateTime1; //两个日期间隔的时间(日期)
lab3.Text = ts.Days.ToString(); //取天数
本文来自CSDN博客,转载请标明出处:blog.csdn/ltolll/archive/2007/04/01/1548275.aspx
//如本年度销售额、本季度利润、本月新增客户
//C#里内置的DateTime基本上都可以实现这些功能,巧用DateTime会使你处理这些事来变轻松多了
//今天
DateTime.Now.Date.ToShortDateString();
//昨天,就是今天的日期减一
writeline函数
DateTime.Now.AddDays(-1).ToShortDateString();
//明天,同理,加一
DateTime.Now.AddDays(1).ToShortDateString();
/
/本周(要知道本周的第一天就得先知道今天是星期几,从而得知本周的第一天就是几天前的那一天,要注意的是这里的每一周是从周日始至周六止
DateTime.Now.AddDays(Convert.ToDouble((0 - Convert.ToInt16(DateTime.Now.DayOfWeek)))).ToShortDateString();
DateTime.Now.AddDays(Convert.ToDouble((6 - Convert.ToInt16(DateTime.Now.DayOfWeek)))).ToShortDateString();
//如果你还不明白,再看一下中文显示星期几的方法就应该懂了
//由于DayOfWeek返回的是数字的星期几,我们要把它转换成汉字方便我们阅读,有些人可能会用switch来一个一个地对照,其实不用那么麻烦的             
string[] Day = new string[] { "星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六" };
Day[Convert.ToInt16(DateTime.Now.DayOfWeek)];
//上周,同理,一个周是7天,上周就是本周再减去7天,下周也是一样
DateTime.Now.AddDays(Convert.ToDouble((0 - Convert.ToInt16(DateTime.Now.DayOfWeek))) - 7).ToShortDateString();
DateTime.Now.AddDays(Convert.ToDouble((6 - Convert.ToInt16(DateTime.Now.DayOfWeek))) - 7).ToShortDateString();
//下周
DateTime.Now.AddDays(Con
vert.ToDouble((0 - Convert.ToInt16(DateTime.Now.DayOfWeek))) + 7).ToShortDateString();
DateTime.Now.AddDays(Convert.ToDouble((6 - Convert.ToInt16(DateTime.Now.DayOfWeek))) + 7).ToShortDateString();
//本月,很多人都会说本月的第一天嘛肯定是1号,最后一天就是下个月一号再减一天。当然这是对的
//一般的写法
DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString() + "1"; //第一天
DateTime.Parse(DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString() + "1").AddMonths(1).AddDays(-1).ToShortDateString();//最后一天
//巧用C#里ToString的字符格式化更简便
DateTime.Now.ToString("yyyy-MM-01");
DateTime.Parse(DateTime.Now.ToString("yyyy-MM-01")).AddMonths(1).AddDays(-1).ToShortDateString();
//上个月,减去一个月份
DateTime.Parse(DateTime.Now.ToString("yyyy-MM-01")).AddMonths(-1).ToShortDateString();
DateTime.Parse(DateTime.Now.ToString("yyyy-MM-01")).AddDays(-1).ToShortDateString();
//下个月,加去一个月份
DateTime.Parse(DateTime.Now.ToString("yyyy-MM-01")).AddMonths(1).ToShortDateString();
DateTime.Parse(DateTime.Now.ToString("yyyy-MM-01")).AddMonths(2).AddDays(-1).ToShortDateSt
ring();
//7天后
DateTime.Now.Date.ToShortDateString();
DateTime.Now.AddDays(7).ToShortDateString();
//7天前
DateTime.Now.AddDays(-7).ToShortDateString();
DateTime.Now.Date.ToShortDateString();
//本年度,用ToString的字符格式化我们也很容易地算出本年度的第一天和最后一天
DateTime.Parse(DateTime.Now.ToString("yyyy-01-01")).ToShortDateString();
DateTime.Parse(DateTime.Now.ToString("yyyy-01-01")).AddYears(1).AddDays(-1).ToShortDateString();
//上年度,不用再解释了吧
DateTime.Parse(DateTime.Now.ToString("yyyy-01-01")).AddYears(-1).ToShortDateString();
DateTime.Parse(DateTime.Now.ToString("yyyy-01-01")).AddDays(-1).ToShortDateString();
//下年度
DateTime.Parse(DateTime.Now.ToString("yyyy-01-01")).AddYears(1).ToShortDateString();
DateTime.Parse(DateTime.Now.ToString("yyyy-01-01")).AddYears(2).AddDays(-1).ToShortDateString();
//本季度,很多人都会觉得这里难点,需要写个长长的过程来判断。其实不用的,我们都知道一年四个季度,一个季度三个月
//首先我们先把日期推到本季度第一个月,然后这个月的第一天就是本季度的第一天了
DateTime.Now.AddMonths(0 - ((DateTime.Now.Month - 1) % 3)).ToString("yyyy-MM-01");
//同理,本季度的最
后一天就是下季度的第一天减一
DateTime.Parse(DateTime.Now.AddMonths(3 - ((DateTime.Now.Month - 1) % 3)).ToString("yyyy-MM-01")).AddDays(-1).ToShortDateString();
//下季度,相信你们都知道了。。。。收工
DateTime.Now.AddMonths(3 - ((DateTime.Now.Month - 1) % 3)).ToString("yyyy-MM-01");
DateTime.Parse(DateTime.Now.AddMonths(6 - ((DateTime.Now.Month - 1) % 3)).ToString("yyyy-MM-01")).AddDays(-1).ToShortDateString();
//上季度
DateTime.Now.AddMonths(-3 - ((DateTime.Now.Month - 1) % 3)).ToString("yyyy-MM-01");
DateTime.Parse(DateTime.Now.AddMonths(0 - ((DateTime.Now.Month - 1) % 3)).ToString("yyyy-MM-01")).AddDays(-1).ToShortDateString();

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。