一文搞懂:两个日期的时间间隔

简介: 一文搞懂:两个日期的时间间隔

"

///

/// 返回两个日期之间的时间间隔(y:年份间隔、M:月份间隔、【d:天数间隔、h:小时间隔、m:分钟间隔、s:秒钟间隔、ms:微秒间隔,中括号内前加t,表示总数,如td,总天数】)

///

///

间隔标志

///

开始日期

///

结束日期

/// 返回间隔标志指定的时间间隔

public static double DateDiff(string Interval, System.DateTime? Date1, //代码效果参考:https://v.youku.com/v_show/id_XNjQwNjg2MzQ2OA==.html

System.DateTime? Date2)

{

double dblYearLen = 365;//年的长度,365天

double dblMonthLen = (365 / 12);//每个月平均的天数

System.TimeSpan objT;

DateTime d1 = new DateTime();

DateTime d2 = new DateTime();

if (Date1 == null) return 0;

if (Date2 == null) return 0;

d1 = (DateTime)Date1;

d2 = (DateTime)Date2;

objT = d2.Subtract(d1);

switch (Interval)

{

case ""y""://返回日期的年份间隔

return (double)System.Convert.ToInt32(objT.Days / dblYearLen);

case ""M""://返回日期的月份间隔

return (double)System.Convert.ToInt32(objT.Days / dblMonthLen);

case ""d""://返回日期的天数间隔

objT = Convert.ToDateTime(d2.ToShortDateString()).Subtract(Convert.ToDateTime(d1.ToShortDateString()));

return (double)objT.Days;

case ""h""://返回日期的小时间隔

return (double)objT.Hours;

case ""m""://返回日期的分钟间隔

return (double)objT.Minutes;

case ""s""://返回日期的秒钟间隔

return (double)objT.Seconds;

case ""ms""://返回时间的微秒间隔

return (double)objT.Milliseconds;

//代码效果参考:https://v.youku.com/v_show/id_XNjQwMDQwNzE2MA==.html

case ""td""://总天

return objT.TotalDays;

case ""th""://总小时数

return objT.TotalHours;

case ""tm""://总分钟

return objT.TotalMinutes;

case ""ts""://总秒

return objT.TotalSeconds;

case ""tms""://总毫秒

return objT.TotalMilliseconds;

default:

break;

}

return 0;

}


"
image.png
相关文章
|
6天前
|
存储 数据采集 人工智能
最佳实践丨让苏东坡“复活”!我用Qwen3-8B实现了与千古文豪的跨时空对话
随着人工智能技术的不断发展,虚拟角色不再只是冰冷的对话机器,而是能够承载历史人物的气质、知识体系乃至精神风貌的“数字化身”。今天,我们将完整揭秘如何基于Qwen3-8B大模型,借助LLaMA-Factory Online平台,打造一个沉浸式的“苏东坡数字分身”,让前沿技术为文化传承注入新的活力。
178 9
最佳实践丨让苏东坡“复活”!我用Qwen3-8B实现了与千古文豪的跨时空对话
|
2月前
|
数据采集 数据可视化 物联网
数据工程师必看:10大主流数据清洗工具全方位功能对比
面对杂乱数据,高效清洗是分析关键。本文盘点10款主流工具:从企业级Informatica、Talend,到业务友好的Alteryx、Tableau Prep,技术向的Python、Nifi,再到轻量级Excel+Power Query,覆盖各类场景。帮你选对工具,提升效率,告别无效加班。
数据工程师必看:10大主流数据清洗工具全方位功能对比
|
9月前
|
人工智能 运维 资源调度
AI 赋能混合云运维:告别手工操作,迈向智能自愈!
AI 赋能混合云运维:告别手工操作,迈向智能自愈!
475 85
|
9月前
|
机器学习/深度学习 自然语言处理 TensorFlow
解锁 AIGC 工具:入门者到高级达人的终极蜕变手册
解锁 AIGC 工具:入门者到高级达人的终极蜕变手册
|
XML 小程序 前端开发
小程序制作教程
小程序制作教程
978 3
小程序制作教程
|
12月前
|
存储 机器学习/深度学习 并行计算
【AI系统】Tensor Core 深度剖析
Tensor Core 是英伟达 GPU 的关键技术,专为加速深度学习计算设计,尤其擅长矩阵乘法和卷积运算。通过混合精度计算,Tensor Core 使用半精度(FP16)输入输出,内部以全精度(FP32)计算,确保精度同时提高效率。相比传统 CUDA Core,Tensor Core 每个时钟周期可执行 64 个浮点运算,大幅提升计算速度。其工作原理包括指令流水线、线程执行等多级优化,确保高效并行处理。通过分块、分配和并行执行策略,Tensor Core 能有效处理大规模矩阵计算,极大加速神经网络模型的训练和推断。
876 1
【AI系统】Tensor Core 深度剖析
|
安全 网络安全 数据安全/隐私保护
访问控制列表(ACL)是网络安全管理的重要工具,用于定义和管理网络资源的访问权限。
访问控制列表(ACL)是网络安全管理的重要工具,用于定义和管理网络资源的访问权限。ACL 可应用于路由器、防火墙等设备,通过设定规则控制访问。其类型包括标准、扩展、基于时间和基于用户的ACL,广泛用于企业网络和互联网安全中,以增强安全性、实现精细管理和灵活调整。然而,ACL 也存在管理复杂和可能影响性能的局限性。未来,ACL 将趋向智能化和自动化,与其他安全技术结合,提供更全面的安全保障。
941 4
|
容器
Vue3回到顶部(BackTop)
这是一个基于 Vue3 的头像组件库,提供了圆形和方形两种头像形状,并支持自定义大小、图片、图标及字符展示。
271 0
Vue3回到顶部(BackTop)
朋友问我Java中“::”是什么意思?我汗流浃背了......
朋友问我Java中“::”是什么意思?我汗流浃背了......
407 0
|
SQL 安全 前端开发
软件测试指南:从策略到实践
【8月更文第21天】软件测试是为了评估软件的质量并验证其是否符合预期的功能要求而进行的一系列活动。本文将详细介绍软件测试的不同阶段、测试类型、测试策略与计划的制定、以及如何有效地管理与跟踪发现的缺陷。
906 1