面向对象编程

  • 1. 自己造轮子——Time类
  • 2. 现成的轮子——DateTime类

1. 自己造轮子——Time类

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace TimeClass
{class Program{static void Main(string[] args){Time t1 = new Time(19,56,22);Console.WriteLine(t1.ToString12());Console.WriteLine(t1.ToString24());}}class Time{#region 字段private int hour;private int minute;private int second;#endregion#region 属性public int Hour{get{return hour;}set{Hour = (value >= 0 && value < 24) ? value : 0;}}public int Minute{get{return minute;}set{Minute = (value >= 0 && value < 60) ? value : 0;}}public int Second{get{return second;}set{Second = (value >= 0 && value < 60) ? value : 0;}}#endregion#region 构造函数public Time(){SetTime(0,0,0);}public Time(int hourValue){SetTime(hourValue,0,0);}public Time(int hourValue,int minuteValue,int secondValue){SetTime(hourValue, minuteValue, secondValue);}#endregion#region 方法private void SetTime(int h,int m,int s){hour = h;minute = m;second = s;}public string ToString24(){return hour.ToString() + ":" + minute.ToString() + ":" + second.ToString();}public string ToString12(){if(hour <= 12)return ToString24() + " AM";elsereturn (hour % 12).ToString() + ":" + minute.ToString() + ":" + second.ToString() + " PM";}#endregion}
}

2. 现成的轮子——DateTime类

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace LearnDateTime
{class Program{static void Main(string[] args){//昨天Console.WriteLine(DateTime.Today.AddDays(-1).ToShortDateString());//今天Console.WriteLine(DateTime.Today.ToShortDateString());//斜线隔开Console.WriteLine(DateTime.Today.ToLongDateString());//年月日//明天Console.WriteLine(DateTime.Today.AddDays(1).ToShortDateString());//当前时间Console.WriteLine(DateTime.Now.ToShortTimeString());//精确到分钟Console.WriteLine(DateTime.Now.ToLongTimeString());//精确到秒钟//当前日期与时间(年月日时分秒)Console.WriteLine(DateTime.Now.ToLocalTime());//巧妙的利用string格式化Console.WriteLine(DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss"));//计算两个时间点的时间间隔DateTime dt = new DateTime(2021, 6, 3, 22, 00, 12);Console.WriteLine(dt.ToLongTimeString());TimeSpan ts = DateTime.Now - dt;Console.WriteLine("时间间隔:{0}日{1}时{2}分{3}秒{4}毫秒",ts.Days,ts.Hours,ts.Minutes,ts.Seconds,ts.Milliseconds);Console.WriteLine("时间间隔:{0}秒", ts.TotalSeconds);}}
}

C# DateTime类相关推荐

  1. Python中datetime类错误

    在使用python的datetime类的时候,如下所示: a=datetime.datetime(2014,08,02) ^ SyntaxError: invalid token 如果转换的是2014 ...

  2. datetime unix php,PHP基于DateTime类解决Unix时间戳与日期互转问题【针对1970年前及2038年后时间戳】...

    本文实例讲述了PHP基于DateTime类解决Unix时间戳与日期互转问题.分享给大家供大家参考,具体如下: 这个问题主要在32位的系统下出现,64位的不存在这样的问题.php 5.2+提供了Date ...

  3. 求计算两个时间的差(DateTime类和TimeSpan类)

    日期时间数据是项目设计过程中经常需要处理的信息,C#提供了DateTime类和TimeSpan类来处理日期时间数据.下面介绍说明Datetime类和TimeSpan类的使用 //初始化DateTime ...

  4. .Net时间运算 - DateTime类,TimeSpan类

    DateTime类是.Net中用于处理时间类型数据的. 一.字段 MaxValue 表示 DateTime 的最大可能值.此字段为只读. MinValue     表示 DateTime 的最小可能值 ...

  5. mysql 2038年问题_当前系统在2038年之后datetime类也无法获取当前时间的解决

    由于php 32位使用 int 类型保存时间戳,也就是从1970 00:00:00 到当前时间的秒数. 而32位int 数字的取值范围是 -2147483648 到 2147483647. 所以当 时 ...

  6. php 2038,php在2038年后datetime类也无法获得当前日期的解决

    由于php 32位使用 int 类型保存时间戳,也就是从1970 00:00:00 到当前时间的秒数. 而32位int 数字的取值范围是 -2147483648 到 2147483647. 所以当 时 ...

  7. datetime.datetime类介绍

    datetime类是date和time的结合体,包括date与time的所有信息,date和time类中具有的方法和属性,datetime类都具有. 所以在我们日常的工作中,可以仅使用datetime ...

  8. C# DateTime类详解

    1.获取时间 只需要使用 System 命名空间下的 DateTime 类即可完成 Debug.Log(System.DateTime.Now); // 当前本地时间 (年月日时分秒) -- 10/4 ...

  9. DATETIME类型和BIGINT 类型互相转换

    项目中使用BIGINT来存放时间,以下代码用来转换时间类型和BIGINT类型 SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ========= ...

最新文章

  1. 如何修复“ sudo:不存在tty且未指定AskPass程序”错误?
  2. Hibernate.cfg.xml配置文件结构详解
  3. 【JVM性能调优】使用jstack找出最耗CPU的java线程
  4. django CBV装饰器 自定义django中间件 csrf跨站请求伪造 auth认证模块
  5. lisp读点坐标绘多义线_AutoCAD中多义线的坐标标注
  6. SQL Sever 错误和异常处理
  7. 一个实际使用的容灾方案
  8. Ubuntu下添加boost库
  9. 电脑开机出现press f11 to start recovery system问题分析与解决
  10. 高速PCB设计考虑的六个方面
  11. 计算机考试excel基础试题,计算机基础(Excel2010)试题及答案解析
  12. 优秀项目经理应具备的素质和能力
  13. js 浏览器语音播报
  14. java一元二次方程用if_用javascript写一个求一元二次方程的页面 用JAVA写一个求解一元二次方程的类...
  15. 用canvas实现方块的放大旋转效果
  16. gin binding方法汇总
  17. EPON+EOC 大批量设备网管解决方案
  18. 积极心态的力量——杨吉
  19. windows-phone-power-tools [wp 安装部署xap]
  20. Elliptic Curve Cryptography (ECC) and Pairings 椭圆曲线密码学与配对

热门文章

  1. Git常见问题及报错
  2. Zabbix对接AD域
  3. zabbix4.2之web监控
  4. 【Oracle】分区表中索引状态为N/A
  5. 异常详细信息: System.UnauthorizedAccessException: 对路径的访问被拒绝。
  6. kali 2019-4中文乱码解决方法
  7. 仿百度文库解决方案(一)——总体思路
  8. VScode输出中文乱码的解决方法------测试过可以用
  9. 如何从JavaScript中的对象数组中获得不同的值?
  10. 在JavaScript中解析查询字符串[重复]