C#里内置的DateTime基本上都可以实现这些功能,巧用DateTime会使你处理这些事来变轻松多了

今天                             DateTime.Now.Date.ToShortDateString();
                昨天,就是今天的日期减一  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(Convert.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).ToShortDateString();

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();

c#中如何获取时间!1、DateTime 数字型 
System.DateTime currentTime=new System.DateTime(); 
1.1 取当前年月日时分秒 
currentTime=System.DateTime.Now; 
1.2 取当前年 
int 年=currentTime.Year; 
1.3 取当前月 
int 月=currentTime.Month; 
1.4 取当前日 
int 日=currentTime.Day; 
1.5 取当前时 
int 时=currentTime.Hour; 
1.6 取当前分 
int 分=currentTime.Minute; 
1.7 取当前秒 
int 秒=currentTime.Second; 
1.8 取当前毫秒 
int 毫秒=currentTime.Millisecond; 
(变量可用中文)

1.9 取中文日期显示——年月日时分 
string strY=currentTime.ToString("f"); //不显示秒

1.10 取中文日期显示_年月 
string strYM=currentTime.ToString("y");

1.11 取中文日期显示_月日 
string strMD=currentTime.ToString("m");

1.12 取中文年月日 
string strYMD=currentTime.ToString("D");

1.13 取当前时分,格式为:14:24 
string strT=currentTime.ToString("t");

1.14 取当前时间,格式为:2003-09-23T14:46:48 
string strT=currentTime.ToString("s");

1.15 取当前时间,格式为:2003-09-23 14:48:30Z 
string strT=currentTime.ToString("u");

1.16 取当前时间,格式为:2003-09-23 14:48 
string strT=currentTime.ToString("g");

1.17 取当前时间,格式为:Tue, 23 Sep 2003 14:52:40 GMT 
string strT=currentTime.ToString("r");

1.18获得当前时间 n 天后的日期时间 
DateTime newDay = DateTime.Now.AddDays(100);

string strT = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");

System.DateTime currentTime=new System.DateTime(); 
currentTime=System.DateTime.Now; //取当前年月日时分秒 
string Y=currentTime.Year.ToString(); //取当前年 
string M=currentTime.Month.ToString(); //取当前月 
string D=currentTime.Day.ToString(); //取当前日 
string T=currentTime.Hour.ToString(); //取当前时 
string MM=currentTime.Minute.ToString(); //取当前分 
string S=currentTime.Second.ToString(); //取当前秒 
string SS=currentTime.Millisecond.ToString(); //取当前毫秒 
string FileName=Y+M+D+T+MM+S+SS+".Html"; //联接后,得到长文件名

  1. DateTime dt = DateTime.Now; //当前时间
  2. DateTimestartWeek = dt.AddDays(1 -Convert.ToInt32(dt.DayOfWeek.ToString("d"))); //本周周一
  3. DateTimeendWeek = startWeek.AddDays(6); //本周周日
  4. DateTimestartMonth = dt.AddDays(1 - dt.Day); //本月月初
  5. DateTimeendMonth = startMonth.AddMonths(1).AddDays(-1); //本月月末
  6. //DateTimeendMonth = startMonth.AddDays((dt.AddMonths(1) - dt).Days - 1); //本月月末
  7. DateTimestartQuarter = dt.AddMonths(0 - (dt.Month - 1) % 3).AddDays(1 -dt.Day);  //本季度初
  8. DateTimeendQuarter = startQuarter.AddMonths(3).AddDays(-1); //本季度末
  9. DateTimestartYear = new DateTime(dt.Year, 1, 1); //本年年初
  10. DateTimeendYear = new DateTime(dt.Year, 12, 31); //本年年末
  11. //提取当前日期为星期几
  12. string[] Day =new string[] { "星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"};
  13. string week =Day[Convert.ToInt32(DateTime.Now.DayOfWeek.ToString("d"))].ToString();  //星期五
  14. DateTime.Now.DayOfWeek.ToString();  //英文星期显示,Friday
  15. (int)DateTime.Now.DayOfWeek   // 数字,若是周五,结果对应为5
  16. DateTime.Now.ToString("dddd", newSystem.Globalization.CultureInfo("zh-cn")); //星期五
  17. DateTime.Now.ToString("dddd");  //星期五
  18. DateTime.Now.ToString("dddd,MMMM,dd ,yyyy",newSystem.Globalization.DateTimeFormatInfo());
  19. //显示日期格式:Friday,November,30,2012
  20. DateTime.Now.ToString("dddd,dd MMMM,yyyy");  //星期五,30 十一月,2012
  21. //上周,同理,一个周是7天,上周就是本周再减去7天,下周也是一样
  22. DateTime.Now.AddDays(Convert.ToInt32(1 -Convert.ToInt32(DateTime.Now.DayOfWeek)) - 7);  //上周一
  23. DateTime.Now.AddDays(Convert.ToInt32(1 -Convert.ToInt32(DateTime.Now.DayOfWeek)) - 7).AddDays(6); //上周末(星期日)
  24. //下周
  25. DateTime.Now.AddDays(Convert.ToInt32(1 -Convert.ToInt32(DateTime.Now.DayOfWeek)) + 7);   //下周一
  26. DateTime.Now.AddDays(Convert.ToInt32(1 -Convert.ToInt32(DateTime.Now.DayOfWeek)) + 7).AddDays(6);//下周末
  27. //本月,很多人都会说本月的第一天嘛肯定是1号,最后一天就是下个月一号再减一天。当然这是对的
  28. //一般的写法
  29. DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString() +"1"; //第一天
  30. DateTime.Parse(DateTime.Now.Year.ToString() +DateTime.Now.Month.ToString() +"1").AddMonths(1).AddDays(-1).ToShortDateString();//最后一天
  31. //巧用C#里ToString的字符格式化更简便
  32. DateTime.Now.ToString("yyyy-MM-01");
  33. DateTime.Parse(DateTime.Now.ToString("yyyy-MM-01")).AddMonths(1).AddDays(-1).ToShortDateString();
  34. //上个月,减去一个月份
  35. DateTime.Parse(DateTime.Now.ToString("yyyy-MM-01")).AddMonths(-1).ToShortDateString();
  36. DateTime.Parse(DateTime.Now.ToString("yyyy-MM-01")).AddDays(-1).ToShortDateString();
  37. //下个月,加去一个月份
  38. DateTime.Parse(DateTime.Now.ToString("yyyy-MM-01")).AddMonths(1).ToShortDateString();
  39. DateTime.Parse(DateTime.Now.ToString("yyyy-MM-01")).AddMonths(2).AddDays(-1).ToShortDateString();
  40. //7天后
  41. DateTime.Now.Date.ToShortDateString();
  42. DateTime.Now.AddDays(7).ToShortDateString();
  43. //7天前
  44. DateTime.Now.AddDays(-7).ToShortDateString();
  45. DateTime.Now.Date.ToShortDateString();
  46. //本年度,用ToString的字符格式化我们也很容易地算出本年度的第一天和最后一天
  47. DateTime.Parse(DateTime.Now.ToString("yyyy-01-01")).ToShortDateString();
  48. DateTime.Parse(DateTime.Now.ToString("yyyy-01-01")).AddYears(1).AddDays(-1).ToShortDateString();
  49. //上年度,不用再解释了吧
  50. DateTime.Parse(DateTime.Now.ToString("yyyy-01-01")).AddYears(-1).ToShortDateString();
  51. DateTime.Parse(DateTime.Now.ToString("yyyy-01-01")).AddDays(-1).ToShortDateString();
  52. //下年度
  53. DateTime.Parse(DateTime.Now.ToString("yyyy-01-01")).AddYears(1).ToShortDateString();
  54. DateTime.Parse(DateTime.Now.ToString("yyyy-01-01")).AddYears(2).AddDays(-1).ToShortDateString();
  55. //本季度,很多人都会觉得这里难点,需要写个长长的过程来判断。其实不用的,我们都知道一年四个季度,一个季度三个月
  56. //首先我们先把日期推到本季度第一个月,然后这个月的第一天就是本季度的第一天了
  57. DateTime.Now.AddMonths(0 - ((DateTime.Now.Month - 1) %3)).AddDays(1 - DateTime.Now.Day);
  58. //同理,本季度的最后一天就是下季度的第一天减一
  59. DateTime.Parse(DateTime.Now.AddMonths(3 - ((DateTime.Now.Month- 1) %3)).ToString("yyyy-MM-01")).AddDays(-1).ToShortDateString();
  60. //下季度,相信你们都知道了。。。。收工
  61. DateTime.Now.AddMonths(3 - ((DateTime.Now.Month - 1) %3)).ToString("yyyy-MM-01");
  62. DateTime.Parse(DateTime.Now.AddMonths(6 - ((DateTime.Now.Month- 1) %3)).ToString("yyyy-MM-01")).AddDays(-1).ToShortDateString();
  63. //上季度
  64. DateTime.Now.AddMonths(-3 - ((DateTime.Now.Month - 1) % 3)).AddDays(1 - DateTime.Now);
  65. DateTime.Now.AddMonths(0 - ((DateTime.Now.Month - 1) %3)).AddDays(1 -DateTime.Now.Day).AddDays(-1).ToShortDateString();

C# 获取今天,昨天,上周,下周,上月,下月等等一些日期格式的更多相关文章

  1. js 获取 本周、上周、本月、上月、本季度、上季度的开始结束日期

    js 获取 本周.上周.本月.上月.本季度.上季度的开始结束日期 /**  * 获取本周.本季度.本月.上月的开始日期.结束日期  */ var now = new Date(); //当前日期 va ...

  2. js获取本周、上周的开始结束时间

    这两天在做一个报表体统,其中涉及到了一个根据本周,上周,本月,上月的时间来进行查询的问题,在这个我就教一下大家怎么实现,大家如果有更好的实现方法的,我也希望大家能说出来,我们交流交流. 首先呢,我写了 ...

  3. Java各种日期格式的获取和设置指定日期

    因为近期在做一个项目,发现项目中日期设置的bug,于是查阅了多方资料后.最终攻克了,为此写篇总结.方便日后的查阅. 多的不说了.直接上代码 package com.example.testdate; ...

  4. php获取本年、本月、本周时间戳和日期格式

    时间戳格式: //获取今日开始时间戳和结束时间戳 $beginToday=mktime(0,0,0,date('m'),date('d'),date('Y')); $endToday=mktime(0 ...

  5. PHP获取一年中每个星期的开始和结束日期的方法

    这篇文章主要介绍了PHP获取一年中每个星期的开始和结束日期的方法,涉及php对日期操作的技巧,具有一定参考借鉴价值,需要的朋友可以参考下 本文实例讲述了PHP获取一年中每个星期的开始和结束日期的方法. ...

  6. Oracle SQL日期及日期格式获取命令

    日期及日期格式: 获取系统日期: sysdate() 格式化日期 to_char(sysdate(),'yyyy-mm-dd,hh24:mi:ss') to_date(sysdate(),'yyyy- ...

  7. js获取给定月份的N个月后的日期

    1.在讲js获取给定月份的N个月后的日期之前,小颖先给大家讲下getFullYear().getYear()的区别. ①getYear() var d = new Date() console.log ...

  8. Oracle 获取当前日期及日期格式

    http://blog.sina.com.cn/s/blog_6168ee920100l2ye.html Oracle 获取当前日期及日期格式 获取系统日期:  SYSDATE()   格式化日期:  ...

  9. PHP获取一年有几周以及每周开始日期和结束日期

    最近接了一个项目,其中有一需求是用php获取一年有几周以及每周开始日期和接触日期.在网上找些资料没有合适的,于是自己做了一份,下面通过两种方式实现PHP获取一年有几周以及每周开始日期和结束日期 代码一 ...

随机推荐

  1. spring boot JedisCluster连接redis集群配置

    配置文件 配置类 构造的时候, 可以看一下, 只有Set<HostAndPort> 参数是必须的 做了一层封装, 更方便使用 结果

  2. C#程序集系列02,使用记事本查看可执行程序集的IL代码

    继续上一篇"C#程序集系列01,用记事本编写C#,IL代码,用DOS命令编译程序集,运行程序",在F盘的as文件夹中已经有了若干程序集.本篇体验使用记事本查看可执行程序集的IL代码 ...

  3. [翻译] FMDB

    FMDB https://github.com/ccgus/fmdb This is an Objective-C wrapper around SQLite: http://sqlite.org/ ...

  4. [翻译] DFXCoreTextView

    DFXCoreTextView https://github.com/davefoxy/DFXCoreTextView A CoreText wrapper for the formatting an ...

  5. poj 1469 COURSES 题解

    COURSES Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 21515   Accepted: 8455 Descript ...

  6. java.lang.ClassNotFoundException: Didn&#39;t find class &quot;stu.love.neihan.MainActivity&quot; on path: DexPathL

    java.lang.ClassNotFoundException: Didn't find class "stu.love.neihan.MainActivity" on path ...

  7. Strings of Power

    B. Strings of Power Volodya likes listening to heavy metal and (occasionally) reading. No wonder Vol ...

  8. Go常用功能总结一阶段

    1. go语言从键盘获取输入内容 <1. 最简单的办法是使用 fmt 包提供的 Scan 和 Sscan 开头的函数.请看以下程序: package main import "fmt& ...

  9. Spark踩坑记:共享变量

    收录待用,修改转载已取得腾讯云授权 前言 前面总结的几篇spark踩坑博文中,我总结了自己在使用spark过程当中踩过的一些坑和经验.我们知道Spark是多机器集群部署的,分为Driver/Maste ...

  10. 【Hadoop】Combiner的本质是迷你的reducer,不能随意使用

    问题提出: 众所周知,Hadoop框架使用Mapper将数据处理成一个<key,value>键值对,再网络节点间对其进行整理(shuffle),然后使用Reducer处理数据并进行最终输出 ...