C# datetime 操作
//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();
转载于:https://www.cnblogs.com/jiangyuxuan/archive/2011/04/05/2006008.html
C# datetime 操作相关推荐
- C#相关的DateTime操作
C#相关的DateTime操作 //定义一个DateTime类的变量 DateTime dt = DateTime.Now; //转换为指定的格式 dt.ToString();//2005-11-5 ...
- python数据分析平均时间间隔_python 数据分析中常用的时间--datetime操作
Python 中有time 模块和datetime模块,因为datetime使用的语法结构跟sql比较类型,所以,我选择了使用datetime. datetime有以下几个类.总结来看,如下图. 下面 ...
- DateTime 操作详解
/大家在做报表或查询的时候都会有给用户预设一些可选的日期范围 2 //如本年度销售额.本季度利润.本月新增客户 3 //C#里内置的Date ...
- mysql——时间字段类型与C#中datetime
一.引言 做项目的时候开始纠结于用2013-01-01 12-12-12存储还是用 2013-01-01存储,这个设计到的问题是mysql中时间字段的选择问题:date.time或者datetime: ...
- python计算时间加减,python datetime库使用和时间加减计算
datetime库使用 一.操作当前时间 1.获取当前时间 >>> import datetime >>> print datetime.datetime.now( ...
- python真的那么强大嘛-这些 Python 库真的很“冷”,但是却很强大
Python是一种很棒的编程语言.事实上,它还是世界上发展最快的编程语言之一.它一次又一次证明了它在数据科学职位中的实用性.整个Python及其库的生态系统使其成为全世界用户(初学者和高级)的合适选择 ...
- 008_setting指令
1. setting指令为进一步的处理而设置.设置是影响FreeMarker行为的值.<#setting name=value />, name: 设置的名称, 不是表达式.value: ...
- sqlerver 字符串转整型_mssql sqlerver 脚本 计算数据表的结余数的方法分享
摘要: 今天接到一个需求,有一张数据表,记录的是消费明细数据, 现在需要做一个累计结余,记录每次的数据结余合计, 下文将展示一种sql脚本的编写方式 实验环境:sqlserver 2008 R2 如下 ...
- garch预测 python_数据科学方面的Python库,实用!
作者:Python开发与大数据人工智能原文:公众号 Python开发与大数据人工智能 Python是一种很棒的编程语言.事实上,它还是世界上发展最快的编程语言之一.它一次又一次证明了它在数据科学职位中 ...
最新文章
- 西部数码虚拟主机服务器配置,西部数码虚拟主机设置首页功能介绍
- K.O. -------- Eclipse中Maven的报错处理
- centos5.6安装mysql_centos安装mysql5.6的正确姿态
- 开启tomcat的apr模式,并利用redis做tomcat7的session的共享。
- 快速切換手機版網頁語法
- ThinkPHP6项目基操(8.多应用模式)
- python怎么导出程序_[272]如何把Python脚本导出为exe程序
- electron-vue使用electron-updater实现自动更新
- 包导出Android升级ADT22后会报ClassNotFoundException的原因分析
- 数字逻辑电路学习笔记
- AxureUX中后台管理信息系统通用原型方案
- u盘 计算机管理 没有就绪,U盘无法识别先别着急扔!这五步操作还能挽救一下...
- lisp方格网法计算土方量_CAD计算土方方量插件
- android导航栏字体,Android状态栏/导航栏颜色
- 滴滴二面:Kafka是如何读写副本消息的?
- PS如何制作圆角矩形图片
- 企业远程视频会议系统EasyRTC进入直播间后遇到无法播放及黑屏问题解决
- APP设计师必上的10个APP图标素材资源站
- 8253计数器/定时器实验
- Python 布尔类型 bool
热门文章
- 解决win2003安装exchangeServer后关机慢的方法
- echo回声不能用了_已懂得用电子分频器,为何不继续加个效果器让音响效果更好?...
- 最近邻插值、双线性插值、双三次插值
- Java IO - Reader
- linux查看tar进程进度,Linux:wget后台下载/查看后台任务进度
- 单片机全局有必要封装_MCU-C程序基本编程规范(转)
- python每隔30s检查一次_用Python写一个“离线语音提示器”来提醒我们别忘记了时间...
- android java 实体类 object变量 保存_Android中Intent传递对象的两种方法Serializable,Parcelable...
- 产品经理经验谈100篇(四)-B端交互设计规范
- AUTOSAR从入门到精通100讲(八十二)-AutoSAR之基础篇CanNM