1. //今天
  2. DateTime.Now.Date.ToShortDateString();
  3. //昨天,也就是今天的日期减一
  4. DateTime.Now.AddDays(-1).ToShortDateString();
  5. //明天,同理,加一
  6. DateTime.Now.AddDays(1).ToShortDateString();
  7. //本周(要知道本周第一天就得先知道今天是星期几,从而得知
  8. 本周第一天就是几天前的那一天;每一周是从周日始至周六止[0-6])
  9. DateTime.Now.AddDays(Convert.ToDouble((0-Convert.ToInt16
  10. (DateTime.Now.DayOfWeek)))).ToShortDateString();
  11. //DateTime.Now.DayOfWeek获得今天是本周的第几天(0<=n<=6)
  12. DateTime.Now.AddDays(Convert.ToDouble((6-Convert.ToInt16
  13. (DateTime.Now.DayOfWeek)))).ToShortDateString();
  14. //中文显示星期几
  15. //由于DayOfWeek返回的是数字的星期几,需要把它转换成汉字以方便人们
  16. 阅读,有些人会用SWITCH来一个一个地对照,其实我们有更优的策略
  17. string[] Day=new string[]{"星期日","星期一",星期二","星期三",
  18. "星期四","星期五","星期六"};
  19. Day[Convert.ToInt16(DateTime.Now.DayOfWeek)];//使用它来获取
  20. //上周,同理,一个周是7天,上周就是本周在减去7天,下周也是一样
  21. DateTime.Now.AddDays(Convert.ToDouble((0-Convert.ToInt16(
  22. DateTime.Now.DayOfWeek)))-7).ToShortDateString();
  23. DateTime.Now.AddDays(Convert.ToDouble((6-Convert.ToInt16(
  24. DateTime.Now.DayOfWeek)))-7).ToShortDateString();
  25. //下周
  26. DateTime.Now.AddDays(Convert.ToDouble((0-Convert.ToInt16(
  27. Datetime.Now.DayOfWeek)))+7).ToShortDateString();
  28. DateTime.Now.AddDays(Convert.ToDouble((6-Convert.ToInt16(
  29. DateTime.Now.DayOfWeek)))+7).ToShortDateString();
  30. //本月,本月的第一天是1号,最后一天就是下个月的1号再减一天
  31. DateTime.Now.Year.ToString()+DateTime.Now.Month.ToString(
  32. )+"1";//第一天
  33. DateTime.Parse(DateTime.Now.Year.ToString()+DateTime.Now.
  34. Month.ToString()+"1").AddMonths(1).AddDays(-1).ToShortDateString();
  35. //最后一天
  36. //巧用C#里ToString的字符格式化更简便
  37. DateTime.Now.ToString("yyyy-MM-01");
  38. DateTime.Parse(DateTime.Now.ToString("yyyy-MM-01")).AddMonths(1).AddDays
  39. (-1).ToShortDateString();
  40. //上个月,减去一个月份
  41. DateTime.Parse(DateTime.Now.ToString("yyyy-MM-01")).AddMonths(-1).ToShortDateString();
  42. DateTime.Parse(DateTime.Now.ToString("yyyy-MM-01")).AddDays(-1).ToShortDateString();
  43. //下个月,加上一个月份
  44. DateTime.Parse(Datetime.Now.ToString("yyyy-MM-01")).AddMonths(1).ToShortDateString();
  45. DateTime.Parse(DateTime.Now.ToString("yyyy-MM-01")).AddMonths(2).AddDays(-1).ToShortString();
  46. //7天后
  47. DateTime.Now.Date.ToShortDateString();
  48. DateTime.Now.AddDays(7).ToShortDateString();
  49. //7天前
  50. DateTime.Now.AddDays(-7).ToShortDateString();
  51. DateTime.Now.Date.ToShortDateString();
  52. //本年度,用ToString的字符格式化我们也很容易算出本年度的第一天和最后一天
  53. DateTime.Parse(DateTime.Now.ToString("yyyy-01-01")).ToShortDateString();
  54. DateTime.Parse(DateTime.Now.ToString("yyyy-01-01")).AddYears(1).AddDays(-1).ToShortString();
  55. //上年度
  56. DateTime.Parse(DateTime.Now.ToString("yyyy-01-01")).AddYears(-1).ToShortDateString();
  57. DateTime.Parse(DateTime.Now.ToString("yyyy-01-01")).AddDays(-1).ToShortDateString();
  58. //下年度
  59. DateTime.Parse(DateTime.Now.ToString("yyyy-01-01")).AddYears(1).ToShortDateString();
  60. DateTime.Parse(DateTime.Now.ToString("yyyy-01-01")).AddYears(2).AddDays(-1).ToShortDateString();
  61. //本季度,很多人都会觉得这里是难点,需要写个长长的过程来判断;其实不用的,我们都知道一年四个季度,一个季度三个月
  62. //首先我们把日期推到本季度第一个月,然后这个月的第一天就是本季度的第一天了
  63. DateTime.Now.AddMonths(0-((DateTime.Now.Month-1)%3)).ToString("yyyy-MM-01");
  64. //同理,本季度的最后一天就是下个季度的第一天减一
  65. DateTime.Parse.(DateTime.Now.AddMonth(3-((DateTime.Now.Month-1)%3)).ToString("yyyy-MM-01")).AddDays(-1).ToShortDateString();
  66. //下季度
  67. DateTime.Now.AddMonths(3-((DateTime.Now.Month-1)%3)).ToString("yyyy-MM-01");
  68. DateTime.Parse(DateTime.Now.AddMonths(6-((DateTime.Now.Month-1)%3)).ToString("yyyy-MM-01").AddDays(-1).ToShortDateString();
  69. //上季度
  70. DateTime.Now.AddMonths(-3-((DateTime.Now.Month-1)%3)).ToString("yyyy-MM-01");
  71. DateTime.Parse(DateTime.Now.AddMonths(0-((DateTime.Now.Month-1)%3)).ToString("yyyy-MM-01").AddDays(-1).ToShortDateString();
  72. //获得当月有多少天
  73. int m=System.DateTime.DaysInMonth(System.DateTime.Now.Year,System.DateTime.Now.Month);
  74. //获取某月的实际工作日(即不包括周六日)
  75. //int days=getDays(System.DateTime.Now);调用即可获得
  76. private int getDays(System.DateTime date1)
  77. {
  78. int m=System.DateTime.DaysInMonth(date1.Year,date1.Month);
  79. int mm=0;
  80. for(int i=1;i<=m;i++)
  81. {
  82. System.DateTime date=Convert.ToDateTime(date1.Year+"-"+date1.Month+"-"+i);
  83. switch(date.DayOfWeek)
  84. {
  85. case System.DayOfWeek.Monday:
  86. case System.DayOfWeek.Tuessday:
  87. case System.DayOfWeek.Wednesday:
  88. case System.DayOfWeek.Thursday:
  89. case System.DayOfWeek.Friday:
  90. mm=mm+1;
  91. break;
  92. }
  93. }
  94. return mm;
  95. }
  96. //获得任意两日期之间的有效工作日(不包括周六日)
  97. DateTime date1=Convert.ToDateTime("2008-8-8");
  98. DateTime date2=Convert.ToDateTime("2008-10-1");
  99. int days=getDays(date1,date2);
  100. //调用如上即可获得
  101. private int getDays(System.DateTime date1,System.DateTime date2)
  102. {
  103. string m=Microsoft.VisualBasic.DateAndTime.DateDiff(EnumDateCompare.day,date1,date2).ToString("f0");
  104. int mm=0;
  105. for(int i=0;i<=Convert.ToInt32(m);i++)
  106. {
  107. System.DateTime date=Convert.ToDateTime(date1.AddDays(i));
  108. switch(date.DayOfWeek)
  109. {
  110. case System.DayOfWeek.Monday:
  111. case System.DayOfWeek.Tuesday:
  112. case System.DayOfWeek.Wednesday:
  113. case System.DayOfWeek.Thursday:
  114. case System.DayOfWeek.Friday:
  115. mm=mm+1;
  116. break;
  117. }
  118. }
  119. return mm;
  120. }
  121. //格式输出
  122. private void Page_Load(object sender,System.EventArgs e)
  123. {
  124. System.Globalization.DateTimeFormatInfo myDTFI=new System.Globalization.CultureInfo("en-US",false).DateTimeFormat;
  125. //中国为zh-cn
  126. DateTime myDT=System.DateTime.Now;
  127. Response.Write(myDT.ToString("f",myDTFI));
  128. //获得本周的周六和周日
  129. public static void ConvertDateToWeek(DateTime date,out DateTime firstdate,out DateTime lastdate)
  130. {
  131. DateTime first System.DateTime.Now;
  132. DateTime last=System.DateTime.Now;
  133. switch(date.DayOfWeek)
  134. {
  135. case System.DayOfWeek.Monday:
  136. first=date.AddDays(-1);
  137. last=date.AddDays(5);
  138. break;
  139. case System.DayOfWeek.Tuesday:
  140. first=date.AddDays(-2);
  141. last=date.AddDays(4);
  142. break;
  143. case System.DayOfWeek.Wednesday:
  144. first=date.AddDays(-3);
  145. last=date.AddDays(3);
  146. break;
  147. case System.DayOfWeek.Thursday:
  148. first=date.AddDays(-4);
  149. last=date.AddDays(2);
  150. break;
  151. case System.DayOfWeek.Friday:
  152. first=date.AddDays(-5);
  153. last=date.AddDays(1);
  154. break;
  155. case System.DayOfWeek.Saturday:
  156. first=dateAddDays(-6);
  157. last=date;
  158. break;
  159. case System.DayOfWeek.Sunday:
  160. first=date;
  161. last=date.AddDays(6);
  162. break;
  163. }
  164. firstdate=first;
  165. lastdate=last;
  166. }
  167. //调用
  168. DateTime firstdate=System.DateTime.Now;
  169. DateTime lastdate=System.Datetime.Now;
  170. ConvertDateToWeek(date,out firstdate,out lastdate);
  171. //获得当前日期是该年度的第几周
  172. DateTime dt=Convert.ToDateTime("2008-8-8");
  173. int weeks=dt.DayOfYear/7+1;

  

DateTime用法的更多相关文章

  1. C#时间格式化(Datetime)用法详解

    Datetime.ToString(String, IFormatProvider) 参数format格式详细用法: 格式字符 关联属性/说明 d ShortDatePattern D LongDat ...

  2. DateTime用法二

    任何项目,难免会碰到DateTime的显示问题,.net框架虽提供丰富多样的显示方法,但我很少使用,因老忘记细节,每次都要纠结到底月份在前还是年份在前:日期分隔符到底是“/”,还是“\”,还是“-”等 ...

  3. c# datetime用法总结

    备忘:YYYY-mm-dd HH:MM:SS部分解释 d 月中的某一天.一位数的日期没有前导零. dd 月中的某一天.一位数的日期有一个前导零. ddd 周中某天的缩写名称,在 Abbreviated ...

  4. [转]廖雪峰:datetime用法

    datetime是Python处理日期和时间的标准库. 获取当前日期和时间 我们先看如何获取当前日期和时间: >>> from datetime import datetime &g ...

  5. Python时间模块datetime用法

    时间模块datetime是python内置模块,datetime是Python处理日期和时间的标准库. 1,导入时间模块 from datetime import datetime 2,实例 from ...

  6. iOS获取时间、日期

    //获取当前时间 NSDateFormatter *formatter = [[[NSDateFormatter alloc] init]autorelease]; [formatter setLoc ...

  7. python基础之模块初识

    Python的强大之处在于他有非常丰富和强大的标准库和第三方库,几乎你想实现的任何功能都有相应的Python库支持 一.time模块和datetime模块 和时间有关系的我们就要用到时间模块.在使用模 ...

  8. C#DateTime的用法

    本文较详细地介绍了C#的DateTime对象的使用方法.DateTime.Now.ToShortTimeString() DateTime dt = DateTime.Now; dt.ToString ...

  9. (转载)C#关于DateTime得到的当前时间的格式和用法

    今天看到工程里有关DateTime的有关知识,之前了解一些用法,比如怎么获取年月日,当前系统时间等等,但是,感觉还是有好多不知道,于是上网搜罗了一下,找到很多有关知识,现在与大家分享下:   Date ...

随机推荐

  1. LVS图解 ---阿里

    LVS在大规模网络环境中的应用   1. SLB总体架构   LVS本身是开源的,我们对它进行了多方面的改进,并且也已开源-https://github.com/alibaba/LVS.     接下 ...

  2. Linux 监控CPU 温度

      安装测试系统: 硬件:普通PC机, 软件:redhat linux as 4  2.6 .9 , 安装系统自带的lm_sensors-2.8.7-2.i386 你也可以从[url]http://w ...

  3. 多线程下的NSOperation和NSOperationQueue的使用

    多线程下的NSOperation和NSOperationQueue的使用 NSOperation和NSOperationQueue的介绍: NSOperation是Cocoa中的一个抽象类,用来封装单 ...

  4. [转] C++指针加整数、两个指针相减的问题

    http://blog.csdn.net/onlyou930/article/details/6725051 说来惭愧,写C++有一段时间了.这个问题从来没有认真考虑过,此次标记于此: 考虑如下问题: ...

  5. 【原创】贴片电容的测量方法。。。这是我从自己QQ空间转过来的,本人实操!

    电容不工作一般分为3种情况,漏电.击穿.无电容.一般检测用万用表检测阻值一般调在10K-20K为测量标准,特别是贴片电容.把万用表的笔尖点在贴片电容的两侧,如下图测量: l1.jpg l2.jpg l ...

  6. codevs3304水果姐逛水果街

    /* 线段树开到*4 *4 *4 *4 ! 维护 4个值 区间最大值 区间最小值 从左往右跑最大收益 从右往左跑最大收益 */ #include<iostream> #include< ...

  7. display:box和flex的区别

    没区别,仅是各阶段草案命名flex是最新的 但是在实际的浏览器测试中,display: flex 不能完全替代display: -webkit-box display: box 使用可以参考http: ...

  8. Linux常用操作练习

    Linux常用操作练习 练习一:安装CentOS 1.设置为1G内存(才有图形界面).10G硬盘 2.分给交换分区2G(4G一下2G,8G-32G分4G-8G) 练习二:安装CentOS迷你版 1.安 ...

  9. 关于uploadify无法起作用,界面没有效果出现

    <link href="<%: Url.Content("~/Res/uploadify/uploadify.css") %>" rel=&q ...

  10. maven在mac上的入门使用

    首先博主也是在入门学习,在学习maven时遇到了不少问题.查资料时发现网上maven的使用大多是win的,所以我打算写点maven在mac入门使用的笔记,希望可以帮助到跟我一样有困难的你们. 1.ht ...