首页 > 其他分享 >日期工具类

日期工具类

时间:2024-06-22 11:21:02浏览次数:12  
标签:return long DateTime public 日期 static dt 工具

  1 public class DateTimeHelper
  2 {
  3     /// <summary>
  4     /// 
  5     /// </summary>
  6     /// <param name="dateTime"></param>
  7     /// <returns></returns>
  8     public static DateTime GetBeginTime(DateTime? dateTime, int days = 0)
  9     {
 10         if (dateTime == DateTime.MinValue || dateTime == null)
 11         {
 12             return DateTime.Now.AddDays(days);
 13         }
 14         return dateTime ?? DateTime.Now;
 15     }
 16     #region 时间戳转换
 17 
 18     /// <summary>
 19     ///  时间戳转本地时间-时间戳精确到秒
 20     /// </summary> 
 21     public static DateTime ToLocalTimeDateBySeconds(long unix)
 22     {
 23         var dto = DateTimeOffset.FromUnixTimeSeconds(unix);
 24         return dto.ToLocalTime().DateTime;
 25     }
 26 
 27     /// <summary>
 28     ///  时间转时间戳Unix-时间戳精确到秒
 29     /// </summary> 
 30     public static long ToUnixTimestampBySeconds(DateTime dt)
 31     {
 32         DateTimeOffset dto = new DateTimeOffset(dt);
 33         return dto.ToUnixTimeSeconds();
 34     }
 35 
 36     /// <summary>
 37     ///  时间戳转本地时间-时间戳精确到毫秒
 38     /// </summary> 
 39     public static DateTime ToLocalTimeDateByMilliseconds(long unix)
 40     {
 41         var dto = DateTimeOffset.FromUnixTimeMilliseconds(unix);
 42         return dto.ToLocalTime().DateTime;
 43     }
 44 
 45     /// <summary>
 46     ///  时间转时间戳Unix-时间戳精确到毫秒
 47     /// </summary> 
 48     public static long ToUnixTimestampByMilliseconds(DateTime dt)
 49     {
 50         DateTimeOffset dto = new DateTimeOffset(dt);
 51         return dto.ToUnixTimeMilliseconds();
 52     }
 53 
 54     #endregion
 55 
 56     #region 毫秒转天时分秒
 57     /// <summary>
 58     /// 毫秒转天时分秒
 59     /// </summary>
 60     /// <param name="ms"></param>
 61     /// <returns></returns>
 62     public static string FormatTime(long ms)
 63     {
 64         int ss = 1000;
 65         int mi = ss * 60;
 66         int hh = mi * 60;
 67         int dd = hh * 24;
 68 
 69         long day = ms / dd;
 70         long hour = (ms - day * dd) / hh;
 71         long minute = (ms - day * dd - hour * hh) / mi;
 72         long second = (ms - day * dd - hour * hh - minute * mi) / ss;
 73         long milliSecond = ms - day * dd - hour * hh - minute * mi - second * ss;
 74 
 75         string sDay = day < 10 ? "0" + day : "" + day; //天
 76         string sHour = hour < 10 ? "0" + hour : "" + hour;//小时
 77         string sMinute = minute < 10 ? "0" + minute : "" + minute;//分钟
 78         string sSecond = second < 10 ? "0" + second : "" + second;//秒
 79         string sMilliSecond = milliSecond < 10 ? "0" + milliSecond : "" + milliSecond;//毫秒
 80         sMilliSecond = milliSecond < 100 ? "0" + sMilliSecond : "" + sMilliSecond;
 81 
 82         return string.Format("{0} 天 {1} 小时 {2} 分 {3} 秒", sDay, sHour, sMinute, sSecond);
 83     }
 84     #endregion
 85 
 86     #region 获取unix时间戳
 87     /// <summary>
 88     /// 获取unix时间戳(毫秒)
 89     /// </summary>
 90     /// <param name="dt"></param>
 91     /// <returns></returns>
 92     public static long GetUnixTimeStamp(DateTime dt)
 93     {
 94         long unixTime = ((DateTimeOffset)dt).ToUnixTimeMilliseconds();
 95         return unixTime;
 96     }
 97 
 98     public static long GetUnixTimeSeconds(DateTime dt)
 99     {
100         long unixTime = ((DateTimeOffset)dt).ToUnixTimeSeconds();
101         return unixTime;
102     }
103     #endregion
104 
105     #region 获取日期天的最小时间
106     public static DateTime GetDayMinDate(DateTime dt)
107     {
108         DateTime min = new DateTime(dt.Year, dt.Month, dt.Day, 0, 0, 0);
109         return min;
110     }
111     #endregion
112 
113     #region 获取日期天的最大时间
114     public static DateTime GetDayMaxDate(DateTime dt)
115     {
116         DateTime max = new DateTime(dt.Year, dt.Month, dt.Day, 23, 59, 59);
117         return max;
118     }
119     #endregion
120 
121     #region 获取日期天的最大时间
122     public static string FormatDateTime(DateTime? dt)
123     {
124         if (dt != null)
125         {
126             if (dt.Value.Year == DateTime.Now.Year)
127             {
128                 return dt.Value.ToString("MM-dd HH:mm");
129             }
130             else
131             {
132                 return dt.Value.ToString("yyyy-MM-dd HH:mm");
133             }
134         }
135         return string.Empty;
136     }
137     #endregion
138 }

 

标签:return,long,DateTime,public,日期,static,dt,工具
From: https://www.cnblogs.com/leon1128/p/18262016

相关文章

  • Json工具类
    publicstaticclassJsonHelper{///<summary>///将对象序列化为JSON格式///</summary>///<paramname="o">对象</param>///<returns>json字符串</returns>publicstaticstringSerializeObject(object......
  • 无人直播不封号美女舞团3.0 多重防非操作(教程+素材+工具)
    在这个数字化的时代,直播已经成为了一种新的商业模式。然而,如何打造一个24小时自动循环播放的直播间,并通过此获得收益,却是许多人面临的挑战。本文将介绍如何通过使用OBS和咩播软件,创建一个能够吸引人们进入直播间并产生互动的直播环境,从而实现每天1000+,2000+的收益,甚至达到1......
  • STM32三种调试工具CMSIS-DAP、J-Link和ST-Link
    一.概述CMSIS-DAP、J-Link和ST-Link均是嵌入式处理器的开发调试工具。CMSIS-DAP是一种轻量级调试接口,旨在实现开源的开发调试。它的优点是使用方便、通用性好、成本低,还支持固件的在线升级。J-Link是一款由德国公司SEGGERMicrocontroller开发的高性能调试工具。但是价格较......
  • 超越datetime:Arrow,Python中的日期时间管理大师
    介绍Arrow是一个Python库,它提供了一种合理且对人类友好的方法来创建、操作、格式化和转换日期、时间和时间戳。它实现了对datetime类型的更新,填补了功能上的空白,提供了一个智能的模块API,支持许多常见的创建场景。简单来说,它可以帮助您使用更少的导入和更少的代码来处理日期和时间......
  • Camtasia 中视频制作和编辑的能力,让你能够创建更具创意和专业性的视频内容。随着实践
    Camtasia的初级应用,以下是一个简单的大纲,帮助你了解如何开始使用这款视频编辑和屏幕录制软件:1. 软件介绍和安装介绍Camtasia的功能和用途。下载和安装Camtasia软件。注册和激活软件(如果需要)。2. 录制屏幕启动Camtasia并了解用户界面。设置录制参数(如屏幕区域、......
  • 外链工具:助力高效外链建设
    免费外链工具:助力高效外链建设随着互联网的快速发展,SEO优化越来越受到网站管理者的重视。在SEO优化中,外链建设是非常重要的环节之一。外链建设能够有效提高网站的权重和排名,从而带来更多的流量和收益。然而,外链建设并不是一件容易的事情。需要寻找相关的网站进行交换链接,或者花......
  • Fiddler 是一个功能强大的网络调试工具,通过掌握其高级功能,您可以更深入地进行流量分析
    Fiddler是一个功能强大的网络调试工具,主要用于捕获、检查和修改HTTP请求和响应。以下是一个Fiddler初级应用的大纲,帮助你快速了解如何使用它进行网络调试和分析:1. 安装和基本设置下载和安装Fiddler。启动Fiddler,并了解主界面的基本布局。配置浏览器或应用程序以使用......
  • 用Rufus工具制作Windows To Go,三步搞定!
    前言前几天小白发了一篇关于使用Dism++工具制作WindowsToGo的教程:简单几步把完整的Windows塞进U盘,小白都能看懂这个在Dism++软件上制作WindowsToGo的教程比在WinPE系统制作简单了一些,但里面有部分操作可能有些小伙伴看不懂。这个没关系!今天小白给小伙伴们带来更加简......
  • PE工具 -- EasyU(优启通) v3.7.2024.0515 VIP版
    软件简介优启通(EasyU),也称为EU,是由IT天空开发的一款专业U盘启动盘制作工具。它以U盘作为使用载体,提供了一种便携、高效的系统预安装环境(PE)。优启通的特点包括简约易操作的用户界面,以及广泛的硬件兼容性。它支持BIOS(Legacy)与UEFI两种启动模式,并在主流硬件的基础上兼容早期多数......
  • Midjourney做图可用网站、工具
    官方文档MidjourneyDocumentationandUserGuide作用:学习mj最好用的书,出错时最好的速查手册prompt提示词(1)官方网站 https://www.midjourney.com/explore好用,搜索相关词可以看到社区其他人的同类作品。能直接在mj上操作。(2)https://prompthero.com/图片质量很高且大部......