C# 时间处理(DateTime和TimeSpan)
在C#中我们可以使用系统自带类System.DateTme这了类来获取当前的日期或时间。
获取当前的日期
//1、获取当前的日期:
DateTime.Now.ToString(); //2021/6/1 23:47:06
DateTime.Now.ToString("yy-MM-dd");//21-06-01
DateTime.Now.ToLocalTime(); //2021/6/1 23:50:12
DateTime.Now.ToLongDateString();//2021年6月1日
DateTime.Now.ToLongTimeString();//23:50:12
获取当前年月日
获取年:int year=DateTime.Now.Year;
获取月:int month=DateTime.Now.Month;
获取日:int day-DateTime.Now.Day;
获取时:int houre=DateTime.Now.Hour;
获取分:int minute=DateTime.Now.Minute;
获取秒:int second= DateTime.Now.Second;
获取当前的时间
DateTime.Now.ToLongTimeString();//0:05:53
DateTime.Now.ToShortTimeString();//0:05
DateTime.Now.ToString("hh:mm:ss");//12:05:53
DateTime.Now.TimeOfDay.ToString();//00:05:53.3871693
当前时间加减 获取某个时间
//加减天数
DateTime.Now.ToString();//2021/6/2 0:11:18 今天
DateTime.Now.AddDays(-1).ToString();//2021/6/1 0:11:18 昨天
DateTime.Now.AddDays(1).ToString();//2021/6/3 0:11:18 明天
//年
DateTime.Now.AddYears(1).ToString();//2022/6/3 0:11:18 明年
//月
DateTime.Now.AddMonths(1).ToString();//2022/7/3 0:11:18
// 时分秒
DateTime.Now.AddHours(1).ToString();//2022/6/3 1:11:18
DateTime.Now.AddMinutes(1).ToString();//2022/6/3 0:12:18
DateTime.Now.AddSeconds(1).ToString();//2022/6/3 0:11:19
获取当前时间戳 秒
秒 级
(DateTime.Now.ToUniversalTime().Ticks - 621355968000000000) / 10000000
毫秒 级
(DateTime.Now.ToUniversalTime().Ticks - 621355968000000000) / 10000
时间戳的获取和与时间的相互转换
获取当前时间转换为时间戳
System.TimeSpan st = System.DateTime.UtcNow - new System.DateTime(1970, 1, 1, 0, 0, 0);//获取时间戳
Debug.Log(Convert.ToInt64(st.TotalSeconds));//时间戳转换Int64
把时间戳转换为日期时间
System.DateTime startTime = System.TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1));//获取时间戳
System.DateTime dt = startTime.AddSeconds(1558340395);
string t = dt.ToString("yyyy/MM/dd HH:mm:ss");//转化为日期时间
Debug.Log(t);
这里为什么要减去一个621355968000000000,是因为“时间戳是指格林威治时间1970年01月01日00时00分00秒起至当下的总秒数。”(摘自百度百科)我猜这里的这个数字就是1970.1.1之前的秒数了,所以要减去。
可前往下面的网址检查获取到的时间戳是不是对应当前的时间
https://tool.lu/timestamp/
输入时间戳,选择秒/毫秒/点击转换,即可检验
c#中有一个叫做TimeSpan的数据类型
TimeSpan(hour,minute,second);
TimeSpan timeSpan = new TimeSpan(13,44,22);Debug.Log(timeSpan.ToString());Debug.Log(timeSpan.Hours);Debug.Log(timeSpan.Minutes);Debug.Log(timeSpan.Seconds);
方法Subtract:从中减去另一个TimeSpan值。timeSpan = timeSpan .Subtract(new TimeSpan(0, 0, 1));//每隔一秒减去一秒
部分属性
Add:与另一个TimeSpan值相加。
Days: 返回用天数计算的TimeSpan值。
Hours: 返回用小时计算的TimeSpan值
Milliseconds: 返回用毫秒计算的TimeSpan值。
Minutes: 返回用分钟计算的TimeSpan值。
Seconds: 返回用秒计算的TimeSpan值。
Ticks: 返回TimeSpan值的tick数。
TotalDays: 返回TimeSpan值表示的天数。
TotalHours: 返回TimeSpan值表示的小时数。
TotalMilliseconds: 返回TimeSpan值表示的毫秒数。
TotalMinutes: 返回TimeSpan值表示的分钟数。
TotalSeconds: 返回TimeSpan值表示的秒数
C# 时间处理(DateTime和TimeSpan)相关推荐
- .Net时间运算 - DateTime类,TimeSpan类
DateTime类是.Net中用于处理时间类型数据的. 一.字段 MaxValue 表示 DateTime 的最大可能值.此字段为只读. MinValue 表示 DateTime 的最小可能值 ...
- Python 内置模块之 时间模块 datetime
概述 datatime模块重新封装了time模块,提供更多接口,datetime库定义了2个常量和5个类. 2个常量分别是: MINYEAR=1 MAXYEAR=9999 5个类分别是: date类: ...
- Python 时间日期(datetime)
简介: datetime 模块提供用于处理日期和时间的类.在支持日期时间数学运算的同时,实现的关注点更着重于如何能够更有效地解析其属性用于格式化输出和数据操作.本文主要介绍Python中的时间日期(d ...
- 3 calender python_python3笔记二十一:时间操作datetime和calendar
一:学习内容 datetime calendar 二:datetime 1.模块说明:可以理解为datetime基于time进行了封装,提供了各种使用的函数,datetime模块的接口更直接,更容易调 ...
- 带毫秒的字符转换成时间(DateTime)格式的通用方法
C#自身有更好的方式,Net任意String格式转换为DateTime类型 ====================================================== 原文 ==== ...
- mysql中int时间和datetime时间的互相转换
MySQL 1.int时间转换为datetime时间 FROM_UNIXTIME(reg_time) select reg_time, FROM_UNIXTIME(reg_time) from crm ...
- python时间模块datetime模块
1.时间表示的几种类型 1). 时间戳 2). 字符串的时间 3). 元组类型的时间 import time #1.时间戳 print(time.time()) #2.字符串时间 print(time ...
- python time localtimeq获取准确时间_Python时间模块datetime、time、calendar的使用方法
本文简单总结了一下Python处理时间和日期方面的模块,主要就是datetime.time.calendar三个模块的使用,希望这篇文章对于学习Python的朋友们有所帮助. 首先就是模块的调用,很多 ...
- db29.7时间格式化为时间到时分秒_python基础系列 | 示例讲解时间模块datetime
Python 有很多种方式处理日期和时间,常见的时间处理的模块是datetime.time.calendar.能融汇贯通的了解和使用这三个模块,才能轻而易举地用python处理时间.本文以此为目的,通 ...
最新文章
- 移动端图形化报表界面设计_B端移动设计 | 客户RFM分析
- 双向循环神经网络_情感分析:基于循环神经网络
- java contions_Java数据结构与算法
- atomic原子类实现机制_Java并发包-atomic包-让您彻底掌握AtomicInteger源码
- QT的QTechnique类的使用
- 2440按键中断编程
- 5个IO口实现25个按键的扫描,他做到了!堪称一绝!
- PHP3d地球,three.js绘制地球、飞机与轨迹的效果示例
- 零基础入门深度学习(4) - 卷积神经网络
- cshtml 未能找到类型或命名空间名称“PagedList”(是否缺少 using 指令或程序集引用?)
- Quay (3) - 访问权限管理
- Linux kernel进行编译时提示No rule to make target `menconfig'
- 7-2 求最大值及其下标编程总结
- mysql 5.6 默认密码_mysql5.6配置及修改密码
- C语言必背18个经典程序(含免费源码大全)
- r语言 怎么把字调大_R语言中字体设置
- jep 使用方法与简介
- live share_带Live Share的Visual Studio Code中的实时编码入门
- SLAM导航机器人零基础实战系列:(七)语音交互与自然语言处理——2.机器人语音交互实现...
- 如何进行旅游app开发定制
热门文章
- go语言的type func()用法
- 以此记:2020-08-13
- 非法使用计算机信息罪,刑法解释:第二百八十五条【非法侵入计算机信息系统罪定义、量刑】...
- H264文件解析出nalu数据,送给ffmpeg解码,opencv显示
- linux 按字符串分割文件 sed awk
- Java实现文件监控器FileMonitor
- gridview 不 执行更新 事件 与验证有关 设置 CausesValidation=False
- Linux Charger IC 驱动移植总结
- 彩色图像、灰度图像、二值图像和索引图像区别
- c语言中printf格式大全,c语言printf()输出格式大全