C# 时间计算
 
 今天、昨天、前天、明天
  class Program
    {
        static void Main(string[] args)
        {
            DateTime dt1=GetTodayZeroTime(DateTime.Now);
            Console.WriteLine("今天零点:{0}",dt1.ToString() );
            DateTime dt2 = GetYestodayZeroTime(DateTime.Now);
            Console.WriteLine("昨天零点:{0}", dt2.ToString());
            DateTime dt3 = GetDayBeforYestodayZeroTime(DateTime.Now);
            Console.WriteLine("前天零点:{0}", dt3.ToString());
            DateTime dt4 = GetTomorrowZeroTime(DateTime.Now);
            Console.WriteLine("明天零点:{0}", dt4.ToString());
            Console.ReadLine();
        }
        private static DateTime GetTodayZeroTime(DateTime datetime)
        {
            return new DateTime(datetime.Year, datetime.Month, datetime.Day);
        }
        private static DateTime GetYestodayZeroTime(DateTime datetime)
        {
            TimeSpan timespan = new TimeSpan(1, 0, 0, 0);
            DateTime yesdt = datetime.Subtract(timespan);
            return new DateTime(yesdt.Year, yesdt.Month, yesdt.Day);
        }
        private static DateTime GetDayBeforYestodayZeroTime(DateTime datetime)
        {
            TimeSpan timespan = new TimeSpan(2, 0, 0, 0);
            DateTime yesdt = datetime.Subtract(timespan);
            return new DateTime(yesdt.Year, yesdt.Month, yesdt.Day);
        }
        private static DateTime GetTomorrowZeroTime(DateTime datetime)
        {
            TimeSpan timespan = new TimeSpan(1, 0, 0, 0);
            DateTime yesdt = datetime.Add(timespan);
            return new DateTime(yesdt.Year, yesdt.Month, yesdt.Day);
        }
    }
 
本文来自网络上朋友们的帖子,这里进行了一个汇总

取一个月的最后一天日期

int   yy   =   2005; 
int   mm   =   11; 
int   Lastday   =   DateTime.DaysInMonth(yy,   mm);

另一种方法

int   year   =   2005; 
int   month   =   11; 
DateTime   dt   =   new   DateTime(year,month,1).AddMonths(1).AddDays(-1);

取某一天所在周的最后一天日期

String   date   =   "2007-09-27 "; 
SimpleDateFormat   sdf   =   new   SimpleDateFormat( "yyyy-MM-dd "); 
Calendar   calendar   =   new   GregorianCalendar(); 
calendar.setTime(sdf.parse(date)); 
calendar.set(Calendar.DAY_OF_WEEK,   calendar.getMaximum(Calendar.DAY_OF_WEEK)); 
System.out.println(sdf.format(calendar.getTime())); 
 
时间比较:
 
DateTime date1 = new DateTime(2009, 8, 1, 0, 0, 0);
DateTime date2 = new DateTime(2009, 8, 1, 12, 0, 0);
int result = DateTime.Compare(date1, date2);
string relationship;

if (result < 0)
   relationship = "is earlier than";
else if (result == 0)
   relationship = "is the same time as";         
else
   relationship = "is later than";

Console.WriteLine("{0} {1} {2}", date1, relationship, date2);
// The example displays the following output:
//    8/1/2009 12:00:00 AM is earlier than 8/1/2009 12:00:00 PM

时间比较:
    while (DateTime.Compare(dtBegin, dtEnd) <= 0)
            {
                // 
                //循环主体
                 //    
                dtBegin = dtBegin.AddHours(1);           //时间相加
            }
 时间相减:
  TimeSpan ts = endtime.Subtract(begintime).Duration();

C# 时间计算 今天、昨天、前天、明天 一个月的开始日期与结束日期的更多相关文章

  1. PHP计算一年有多少周,每周开始日期和结束日期

    一年有多个周,每周的开始日期和结束日期 参考代码一:[正在使用的版本] <?php header("Content-type:text/html;charset=utf-8" ...

  2. my97datepicker开始日期小于结束日期格式化时间精确届时分秒

    my97datepicker开始日期小于结束日期格式化时间精确到时分秒 一 , 需求: 结束时间 > 开始时间, 不符合的时间段不能选择.比如我选择开始日期是7月28,那结束的日期将只能从7月2 ...

  3. js根据当前日期 求一个月前 半年前 一年前的日期

    function p(s) {        return s < 10 ? '0' + s: s;}getlastmonth() function getlastmonth() {    va ...

  4. js获得昨天前天明天时间以及setDate()

    <script type="text/javascript"> function GetDateStr(AddDayCount) { var dd = new Date ...

  5. Linux shell 时间操作(取昨天 前天)

    1. 取今天时间 $date -d "now" +%Y-%m-%d 2. 取昨天时间 $date -d "yesterday" +%Y-%m-%d $date  ...

  6. bootstrap框架日期时间 开始日期和结束日期选择

    页面表单查询时,常要求要查询一个日期时间段内的数据,若采用bootstrap框架的datetimepicker插件来控制,需要了解怎么个用法:

  7. js计算当前日期上一个月和下一个月

    /**         * 获取上一个月         *         * @date 格式为yyyy-mm-dd的日期,如:2014-01-25         */        funct ...

  8. SqlServer取得一个月的所有有日期

    SqlServer的自定义函数可以分为三类但我只用过上面两类,可以称作标量函数和表值函数,区别只是返回数据的类型,表值函数返回的是一个虚拟表 SqlServer的函数在这里 因某种需求我写了一个这样的 ...

  9. 裸辞两个月,海投一个月,从Android转战Web前端的求职之路

    前言 看到这个标题的童鞋,可能会产生两种想法: 想法一:这篇文章是标题党 想法二:Android开发越来越不景气了吗?前端越来越火了吗? 我一向不喜欢标题党,标题中的内容是我的亲身经历.我是2016年 ...

随机推荐

  1. url的内容及格式

    url的内容及结构: url格式:

  2. 使用caffe时遇到的问题

    1.Error: (unix time) try if you are using GNU date 问题所在: 在训练train.txt图片列表位置和生成的lmbd数据不符. 解决方案: 修改tra ...

  3. 推荐两个谷歌的json-view插件(附带下载分享地址)

    1.JSONView 网盘下载地址:http://pan.baidu.com/s/1hrGlaVa 效果图: 2.JSON-handle 网盘下载地址:http://pan.baidu.com/s/1 ...

  4. KMS安装后激活机器

    slmgr /skms 192.168.26.82 slmgr /ato

  5. CSS换行文本溢出显示省略号

    现代浏览器中使用css可以实现文本溢出,使用 text-overflow: ellipsis;在有些场景下没有效果,这个时候你需要检查应用的场景是是否是块元素,是否有确切的width. 如果是行内元素 ...

  6. thinkPHP的用法之创建新项目

    1 配置文件中 新增数组元素:'DEFAULT_APPS'=> array('api', 'admin', 'home', 'megagame'), 2 新增样式变量 在view.class.p ...

  7. MySQL exists的用法介绍

    有一个查询如下: 1 SELECT c.CustomerId, CompanyName   2 FROM Customers c   3 WHERE EXISTS(   4     SELECT Or ...

  8. 使用MLeaksFinder检测项目内存泄露总结

    前几天看到开源工具MLeaksFinder,决定用在公司的项目中试一下,效果很不错,用法也很简单,直接把项目文件夹拖到项目中就可以了,依靠这个项目,我发现公司项目中有不少内存泄露的地方,在此总结一下: ...

  9. <c:forEach>循环list,一个表格两列数据

    参考: http://zhidao.baidu.com/link?url=apG5dUmW7RjB5eOYKSWOWdKd7nxFpkDO4n3i8R6MWYKl7E2JC1OCtPILF4G4EUO ...

  10. MySQL 性能优化 30个数据库设计的最佳实践

    数据库设计是整个程序的重点之一,为了支持相关程序运行,最佳的数据库设计往往不可能一蹴而就,只能反复探寻并逐步求精,这是一个复杂的过程,也是规划和结构化数据库中的数据对象以及这些数据对象之间关系的过程. ...