DataTime用法

DateTime.Date;         //返回实例的日期
DateTime.Day;          //返回该月中的第几天
DateTime.Now;          //返回当前时间,精确到秒
DateTime.Today;        //返回当前时间,精确到天
DateTime.Now.ToBinary();     //返回当前时间,并转换为64位二进制;
DateTime.Now.ToString();     //返回当前时间,并转换为字符串;
DateTime.Now.ToShortDateString();    //将当前 DateTime 对象的值转换为其等效的短日期字符串表示形式;
DateTime.Now.ToShortTimeString();    //将当前 DateTime 对象的值转换为其等效的短时间字符串表示形式;
DateTime.Now.ToString(String);       //以指定的日期格式返回当前时间;

获取当前系统时间

DateTime dt = DateTime.Now;     //包括日期和时间
dt.AddDays(1);                  //增加一天 dt本身并不改变
dt.AddDays(-1);                 //减少一天 dt本身并不改变

DataTime格式转换为string

例如:2016-05-09 13:09:55:2350
转换后的结果如注释所示

也可以通过英文字符(y、M、d、h、m、s、f) 分别代替(年、月、日、时、分、秒、毫秒)来自由组合日期时间格式
对照表如下

string转换为DataTime格式

方法一:Convert.ToDateTime(string)

Convert.ToDateTime("2016-05-09 13:09:55"); //string格式有要求,必须是yyyy-MM-dd hh:mm:ss

方法二:Convert.ToDateTime(string, IFormatProvider)

DateTime dt;
DateTimeFormatInfo dtFormat = new System.GlobalizationDateTimeFormatInfo();
dtFormat.ShortDatePattern = "yyyy/MM/dd";
dt = Convert.ToDateTime("2011/05/26", dtFormat);

方法三:DateTime.ParseExact()

string dateString = "20110526";
DateTime dt = DateTime.ParseExact(dateString, "yyyyMMdd", System.Globalization.CultureInfo.CurrentCulture);
DateTime dt1 = DateTime.ParseExact(dateString, "yyyyMMdd", System.Globalization.CultureInfo.InvariantCulture);

今天

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

星期几,

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

本月,

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#编程,DateTime使用方法,时间转字符方法总结相关推荐

  1. Scratch3.0少儿编程——专栏解读——节约时间的巧妙方法

    开专栏的目的以及价值作用 我的学生在搞青少年教育的越来越多,并且使用的就是Scratch3.0这个工具,这个工具很早以前我就涉及到了,当时是我在社培的时候为了让刚进来的学生们可以快速了解程序我就使用了 ...

  2. 编程小知识之时间显示

    本文简述了编程中常见的时间显示问题 开发中总会在各种场景下遇到需要显示时间的情况,显示的格式要求又往往五花八门,正常的譬如: "2018年12月29日20点30分15秒", 简洁一 ...

  3. python获取服务器系统时间,Python datetime获取详细时间

    说明:datetime是date和time的结合体,包含了date和time的所有信息 datetime常见用法: 1.datetime.datetime.now()返回一个UTC时间的datetim ...

  4. php根据时间搜索,yii2实现根据时间搜索的方法

    本文实例讲述了yii2实现根据时间搜索的方法.分享给大家供大家参考,具体如下: // date to search $date = DateTime::createFromFormat('m/d/Y' ...

  5. 笔记:编程的一些建议 - 时间伙伴 - 博客园

    笔记:编程的一些建议 0.今天偶然和同学聊到Eric Steven Raymond的<大教堂与集市>,想起可能会有些同学没看过,给个链接吧.http://www.yeeyan.com/ar ...

  6. Python语言学习之时间那些事:python和时间的使用方法之详细攻略

    Python语言学习之时间那些事:python和时间的使用方法之详细攻略 目录 python和时间那些事 1.获取当前时间的几种方法 2.计算代码前后运行时间 python和时间那些事 1.获取当前时 ...

  7. php面向对象项目,PHP的面向对象编程:开发大型PHP项目的方法(一)

    PHP(PHP培训 php教程 )的面向对象编程:开发大型PHP项目的方法(一) 作者:Luis Argerich 译者:limodou 这篇文章介绍了在PHP中的面向对象编程(OOP,Object ...

  8. win7纯净版系统锁定系统时间的设置方法

    在使用电脑的过程中总是会遇到各式各样的问题,就有小伙伴咨询小编说想要锁定系统时间,想知道怎么操作.那么针对这个问题,小编就以win7纯净版为例,给大家讲讲锁定系统时间的办法win7纯净版系统锁定系统时 ...

  9. java编程规范每行代码窄字符,wiki/0xFE_编程规范.md at master · islibra/wiki · GitHub

    0xFE_编程规范 使用UTF-8编码 使用空格缩进 命名 清晰表达意图, 少用缩写(行业通用除外, 如: request=req, response=resp, message=msg), 不应使用 ...

  10. 时间转换python_Python 日期与时间转换的方法

    问题 你需要执行简单的时间转换,比如天到秒,小时到分钟等的转换. 解决方案 为了执行不同时间单位的转换和计算,请使用 datetime 模块. 比如,为了表示一个时间段,可以创建一个 timedelt ...

最新文章

  1. 读WEB标准和网站重构后的一些感想
  2. zTree实现单独选中根节点中第一个节点
  3. 判断非负整数是否是3的倍数_六年级小升初数学总复习专题(2-1)因数与倍数...
  4. LINUX系统管理员技术(Admin)-------第二天
  5. 驱动开发之 设备读写方式:缓冲区方式
  6. GC Roots 是什么?哪些对象可以作为 GC Root
  7. 我的JDBC通用DAO(续)
  8. 第2章企业管理中的经济学原理
  9. C# Gooflow+layer弹出层 全js代码
  10. 润乾报表统计图联动刷新
  11. 【IC7】FPGA最高工作频率的计算方法;FPGA最大输出频率;查看handbook的PLL最高频率;Fout_ext;Fout两个参数;FPGA输出1ns脉冲
  12. RLC电阻电容电感基础知识——电阻篇
  13. div可拖拽移动js方法
  14. 【教程】一个国外的apk镜像网站,支持下载google play等软件
  15. matlab randn 范围,如何用matlab编写randn函数?
  16. LeetCode刷题(168)~矩阵中的幸运数
  17. 卓海科技冲刺创业板:拟募资5.47亿 相宇阳控制52.9%股权
  18. 鱼眼相机标定以及OpenCV实现
  19. 《程序员养成记》第8集 数据结构才是程序的灵魂
  20. win10系统下利用QEMU安装ARM架构的银河麒麟桌面操作系统V10

热门文章

  1. 机动车合格证手机扫码开票实现方式
  2. 信号与系统作业之我的朋友把我的大作业分享了好朋友
  3. DEDECMS织梦中华美食网早期版本菜谱网整站源码
  4. Spark程序编译报错error: object apache is not a member of package org
  5. 毕业论文使用Endnote技巧(设置引用格式为国标、参考文献排列顺序)
  6. Windows资源管理器已停止工作的两种解决方法
  7. RS码在AWGN信道和2PSK调制下的误码率曲线图(修改自lin_yulin,亲测可用)
  8. android 新浪微博平台开发之 ——授权登录
  9. esxi虚拟化是基于linux吗,虚拟化 – 如何在虚拟机中运行VMWare ESX或ESXi?
  10. 多线程编程与资源同步API和示例