DateTime用法
- //今天
- DateTime.Now.Date.ToShortDateString();
- //昨天,也就是今天的日期减一
- DateTime.Now.AddDays(-1).ToShortDateString();
- //明天,同理,加一
- DateTime.Now.AddDays(1).ToShortDateString();
- //本周(要知道本周第一天就得先知道今天是星期几,从而得知
- 本周第一天就是几天前的那一天;每一周是从周日始至周六止[0-6])
- DateTime.Now.AddDays(Convert.ToDouble((0-Convert.ToInt16
- (DateTime.Now.DayOfWeek)))).ToShortDateString();
- //DateTime.Now.DayOfWeek获得今天是本周的第几天(0<=n<=6)
- 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号,最后一天就是下个月的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).ToShortString();
- //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).ToShortString();
- //上年度
- 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.AddMonth(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();
- //获得当月有多少天
- int m=System.DateTime.DaysInMonth(System.DateTime.Now.Year,System.DateTime.Now.Month);
- //获取某月的实际工作日(即不包括周六日)
- //int days=getDays(System.DateTime.Now);调用即可获得
- private int getDays(System.DateTime date1)
- {
- int m=System.DateTime.DaysInMonth(date1.Year,date1.Month);
- int mm=0;
- for(int i=1;i<=m;i++)
- {
- System.DateTime date=Convert.ToDateTime(date1.Year+"-"+date1.Month+"-"+i);
- switch(date.DayOfWeek)
- {
- case System.DayOfWeek.Monday:
- case System.DayOfWeek.Tuessday:
- case System.DayOfWeek.Wednesday:
- case System.DayOfWeek.Thursday:
- case System.DayOfWeek.Friday:
- mm=mm+1;
- break;
- }
- }
- return mm;
- }
- //获得任意两日期之间的有效工作日(不包括周六日)
- DateTime date1=Convert.ToDateTime("2008-8-8");
- DateTime date2=Convert.ToDateTime("2008-10-1");
- int days=getDays(date1,date2);
- //调用如上即可获得
- private int getDays(System.DateTime date1,System.DateTime date2)
- {
- string m=Microsoft.VisualBasic.DateAndTime.DateDiff(EnumDateCompare.day,date1,date2).ToString("f0");
- int mm=0;
- for(int i=0;i<=Convert.ToInt32(m);i++)
- {
- System.DateTime date=Convert.ToDateTime(date1.AddDays(i));
- switch(date.DayOfWeek)
- {
- case System.DayOfWeek.Monday:
- case System.DayOfWeek.Tuesday:
- case System.DayOfWeek.Wednesday:
- case System.DayOfWeek.Thursday:
- case System.DayOfWeek.Friday:
- mm=mm+1;
- break;
- }
- }
- return mm;
- }
- //格式输出
- private void Page_Load(object sender,System.EventArgs e)
- {
- System.Globalization.DateTimeFormatInfo myDTFI=new System.Globalization.CultureInfo("en-US",false).DateTimeFormat;
- //中国为zh-cn
- DateTime myDT=System.DateTime.Now;
- Response.Write(myDT.ToString("f",myDTFI));
- //获得本周的周六和周日
- public static void ConvertDateToWeek(DateTime date,out DateTime firstdate,out DateTime lastdate)
- {
- DateTime first System.DateTime.Now;
- DateTime last=System.DateTime.Now;
- switch(date.DayOfWeek)
- {
- case System.DayOfWeek.Monday:
- first=date.AddDays(-1);
- last=date.AddDays(5);
- break;
- case System.DayOfWeek.Tuesday:
- first=date.AddDays(-2);
- last=date.AddDays(4);
- break;
- case System.DayOfWeek.Wednesday:
- first=date.AddDays(-3);
- last=date.AddDays(3);
- break;
- case System.DayOfWeek.Thursday:
- first=date.AddDays(-4);
- last=date.AddDays(2);
- break;
- case System.DayOfWeek.Friday:
- first=date.AddDays(-5);
- last=date.AddDays(1);
- break;
- case System.DayOfWeek.Saturday:
- first=dateAddDays(-6);
- last=date;
- break;
- case System.DayOfWeek.Sunday:
- first=date;
- last=date.AddDays(6);
- break;
- }
- firstdate=first;
- lastdate=last;
- }
- //调用
- DateTime firstdate=System.DateTime.Now;
- DateTime lastdate=System.Datetime.Now;
- ConvertDateToWeek(date,out firstdate,out lastdate);
- //获得当前日期是该年度的第几周
- DateTime dt=Convert.ToDateTime("2008-8-8");
- int weeks=dt.DayOfYear/7+1;
DateTime用法的更多相关文章
- C#时间格式化(Datetime)用法详解
Datetime.ToString(String, IFormatProvider) 参数format格式详细用法: 格式字符 关联属性/说明 d ShortDatePattern D LongDat ...
- DateTime用法二
任何项目,难免会碰到DateTime的显示问题,.net框架虽提供丰富多样的显示方法,但我很少使用,因老忘记细节,每次都要纠结到底月份在前还是年份在前:日期分隔符到底是“/”,还是“\”,还是“-”等 ...
- c# datetime用法总结
备忘:YYYY-mm-dd HH:MM:SS部分解释 d 月中的某一天.一位数的日期没有前导零. dd 月中的某一天.一位数的日期有一个前导零. ddd 周中某天的缩写名称,在 Abbreviated ...
- [转]廖雪峰:datetime用法
datetime是Python处理日期和时间的标准库. 获取当前日期和时间 我们先看如何获取当前日期和时间: >>> from datetime import datetime &g ...
- Python时间模块datetime用法
时间模块datetime是python内置模块,datetime是Python处理日期和时间的标准库. 1,导入时间模块 from datetime import datetime 2,实例 from ...
- iOS获取时间、日期
//获取当前时间 NSDateFormatter *formatter = [[[NSDateFormatter alloc] init]autorelease]; [formatter setLoc ...
- python基础之模块初识
Python的强大之处在于他有非常丰富和强大的标准库和第三方库,几乎你想实现的任何功能都有相应的Python库支持 一.time模块和datetime模块 和时间有关系的我们就要用到时间模块.在使用模 ...
- C#DateTime的用法
本文较详细地介绍了C#的DateTime对象的使用方法.DateTime.Now.ToShortTimeString() DateTime dt = DateTime.Now; dt.ToString ...
- (转载)C#关于DateTime得到的当前时间的格式和用法
今天看到工程里有关DateTime的有关知识,之前了解一些用法,比如怎么获取年月日,当前系统时间等等,但是,感觉还是有好多不知道,于是上网搜罗了一下,找到很多有关知识,现在与大家分享下: Date ...
随机推荐
- LVS图解 ---阿里
LVS在大规模网络环境中的应用 1. SLB总体架构 LVS本身是开源的,我们对它进行了多方面的改进,并且也已开源-https://github.com/alibaba/LVS. 接下 ...
- Linux 监控CPU 温度
安装测试系统: 硬件:普通PC机, 软件:redhat linux as 4 2.6 .9 , 安装系统自带的lm_sensors-2.8.7-2.i386 你也可以从[url]http://w ...
- 多线程下的NSOperation和NSOperationQueue的使用
多线程下的NSOperation和NSOperationQueue的使用 NSOperation和NSOperationQueue的介绍: NSOperation是Cocoa中的一个抽象类,用来封装单 ...
- [转] C++指针加整数、两个指针相减的问题
http://blog.csdn.net/onlyou930/article/details/6725051 说来惭愧,写C++有一段时间了.这个问题从来没有认真考虑过,此次标记于此: 考虑如下问题: ...
- 【原创】贴片电容的测量方法。。。这是我从自己QQ空间转过来的,本人实操!
电容不工作一般分为3种情况,漏电.击穿.无电容.一般检测用万用表检测阻值一般调在10K-20K为测量标准,特别是贴片电容.把万用表的笔尖点在贴片电容的两侧,如下图测量: l1.jpg l2.jpg l ...
- codevs3304水果姐逛水果街
/* 线段树开到*4 *4 *4 *4 ! 维护 4个值 区间最大值 区间最小值 从左往右跑最大收益 从右往左跑最大收益 */ #include<iostream> #include< ...
- display:box和flex的区别
没区别,仅是各阶段草案命名flex是最新的 但是在实际的浏览器测试中,display: flex 不能完全替代display: -webkit-box display: box 使用可以参考http: ...
- Linux常用操作练习
Linux常用操作练习 练习一:安装CentOS 1.设置为1G内存(才有图形界面).10G硬盘 2.分给交换分区2G(4G一下2G,8G-32G分4G-8G) 练习二:安装CentOS迷你版 1.安 ...
- 关于uploadify无法起作用,界面没有效果出现
<link href="<%: Url.Content("~/Res/uploadify/uploadify.css") %>" rel=&q ...
- maven在mac上的入门使用
首先博主也是在入门学习,在学习maven时遇到了不少问题.查资料时发现网上maven的使用大多是win的,所以我打算写点maven在mac入门使用的笔记,希望可以帮助到跟我一样有困难的你们. 1.ht ...