当前位置: 首页 > news >正文

广州市研发网站建设平台上海城隍庙属于哪个区

广州市研发网站建设平台,上海城隍庙属于哪个区,怎么做网站360图片链接,最近国际新闻热点DateTime#xff0c;就是一个世界的大融合。日期和时间#xff0c;在我们开发中非常重要。DateTime在C#中#xff0c;专门用来表达和处理日期和时间。本文算是多年使用DateTime的一个总结#xff0c;包括DateTime对象的整体应用#xff0c;以及如何处理不同的区域、时区、… DateTime就是一个世界的大融合。日期和时间在我们开发中非常重要。DateTime在C#中专门用来表达和处理日期和时间。本文算是多年使用DateTime的一个总结包括DateTime对象的整体应用以及如何处理不同的区域、时区、格式等内容。一、什么是DateTime跟我们想的不一样DateTime不是一个类(class)而是一个结构(struct)它存在于System命名空间下在Dotnet Core中处于System.Runtime.dll中。看一下DateTime的定义public struct DateTime : IComparable, IComparable, IConvertible, IEquatable, IFormattable, System.Runtime.Serialization.ISerializable从定义可以知道DateTime实现了IComparable、IConvertible、IEquatable、IFormattable、ISerializable。因此DateTime可以让我们使用有关日期和时间的很多相关信息。二、构造初始化一个DateTime对象C#提供了11种方式进行初始化根据需要可以使用年月日时分秒以及Ticks。Ticks是C#里一个独特的定义它是以公历0001年1月1日00:00:00.000以来所经历的以100纳秒为间隔的间隔数。我们知道纳秒、微秒、毫秒和秒之间都是1000倍的关系所以1毫秒等于10000Ticks。这个数字很重要。在C#到Javascript时间转换时需要很清楚这个对应关系。DateTime date1  new DateTime(2020, 7, 14);DateTime date2  new DateTime(2020, 7, 14, 14, 23, 40);DateTime date3  new DateTime(637303334200000000);三、静态字段DateTime包括三个静态字段MinValue - DateTime的最小值对应公历0001年1月1日00:00:00.000Ticks为0MaxValue - DateTime的最大值对应公历9999看12月31日23:59:59.999Ticks为3155378975999999999UnixEpoch - Unix、Javascript下的时间起点对应公历1970年1月1日00:00:00.000Ticks为621355968000000000在Javascript中时间保存的是从UnixEpoch开始即从1970年1月1日00:00:00.000开始到现在的毫秒数。所以C#时间到Javascript时间的转换可以用以下代码public static long ToUnixTicks(this DateTime time){    return (long)TimeSpan.FromTicks(time.Ticks - DateTime.UnixEpoch.Ticks).TotalMilliseconds - TimeZoneInfo.Local.GetUtcOffset(time).Hours * 60 * 60 * 1000;}在Javascript中引入时间var time  new Date().setTime(unix_ticks);就完成了转换。四、方法DateTime提供了很多种方法来操作DateTime对象用于处理诸如向日期添加天数、小时、分钟、秒、日期差异、从字符串解析到datetime对象、获得通用时间等等。这儿就不详细说了需要了可以查微软文档很详细。给几个例子TimeSpan duration  new System.TimeSpan(30, 0, 0, 0);DateTime newDate1  DateTime.Now.Add(duration);DateTime today  DateTime.Now;DateTime newDate2  today.AddDays(30);string dateString  2020-07-14 14:23:40;DateTime dateTime12  DateTime.Parse(dateString);DateTime date1  new System.DateTime(2020, 7, 13, 14, 20, 10);DateTime date2  new System.DateTime(2020, 7, 14, 14, 25, 40);DateTime date3  new System.DateTime(2020, 7, 14, 14, 25, 40);TimeSpan diff1  date2.Subtract(date1);DateTime date4  date3.Subtract(diff1);TimeSpan diff2  date3 - date2;DateTime date5  date2 - diff1;五、属性DateTime提供了年月日时分秒、以及其它一些属性用来方便提取日期中的细节。DateTime myDate  new DateTime(2020, 7, 14, 14, 23, 40);int year  myDate.Year; int month  myDate.Month;int day  myDate.Day;int hour  myDate.Hour;int minute  myDate.Minute;int second  myDate.Second;int weekDay  (int)myDate.DayOfWeek;string weekString  myDate.DayOfWeek.ToString();其中DayOfWeek是用来判断日期是星期几的它是一个枚举值。注意按照惯例一周是从周日开始的所以0表示周日6表示周六。DateTimeKind用来定义实例表示的时间是基于本地时间(LocalTime)、UTC时间(UTC)或是不指定(Unspecified)。在大多数情况下我们定义时间就直接定义年月日时分秒例如下面DateTime myDate  new DateTime(2020, 7, 14, 14, 23, 40);这种定义下这个时间就是Unspecified的。在使用时如果应用过程中不做时间转换始终以这种方式用那不会有任何问题。但在某些情况下时间有可能会发生转换例如跨国应用的时间处理再例如MongoDB在数据库保存数据时强制使用UTC时间。这种情况下处理时间就必须采用LocalTime或UTC时间DateTime myDate  new DateTime(2020, 7, 14, 14, 23, 40, DateTimeKind.Local);或DateTime myDate  new DateTime(2020, 7, 14, 14, 23, 40, DateTimeKind.Unspecified);否则在时间类型不确定的情况下时间转换会出现问题。看看下面的例子DateTime myDate  new DateTime(2020, 7, 14, 14, 23, 40);var date1  myDate.ToLocalTime();Console.WriteLine(date1.ToString());/* 7/14/2020 22:23:40 PM */var date2  myDate.ToUniversalTime();Console.WriteLine(date2.ToString());/* 7/14/2020 6:23:40 AM */当使用ToLocalTime方法时Unspecified时间会认为自己是UTC时间而当使用ToUniversalTime时Unspecified时间又会认为自己是LocalTime时间导致时间上的转换错误。关于MongoDB处理时间的相关内容可以去看我的另一个文章MongoDB via Dotnet Core数据映射详解六、时间对象的加减及比较DateTime时间对象的加减及比较非常方便。看例子DateTime date1  new System.DateTime(2020, 7, 14);TimeSpan timeSpan  new System.TimeSpan(10, 5, 5, 1);DateTime addResult  date1  timeSpan;DateTime substarctResult  date1 - timeSpan; DateTime date2  new DateTime(2020, 7, 14);DateTime date3  new DateTime(2020, 7, 15);bool isEqual  date2  date3;七、日期的格式化日期的格式化是相关DateTime网上询问和查找最多的内容。有这么一个表对照这个表就可以date.ToString(yyyy-MM-dd HH:mm:ss);八、阴历DateTime本身依赖于日历Calendar类。Calendar是一个抽象类在System.Globalization命名空间下也在System.Runtime.dll中。而在Calendar类下面提供了很多不同类型的日历。跟我们有关系的是中国的阴历ChineseLunisolarCalendar。使用也很简单Calendar calendar  new ChineseLunisolarCalendar();DateTime date  new DateTime(2020, 06, 24, calendar);/* 7/14/2020 00:00:00 AM */嗯嗯经常看阴历的伙伴们会看出一点问题今天是阴历5月24为什么这儿写的是6月24呢这个是因为今天闰4月所以阴历5月实际是这一个阴历年的第6个月。那如何判断哪个月是否闰月呢Calendar calendar  new ChineseLunisolarCalendar();bool is_leapYear  calendar.IsLeapYear(2020);bool is_leapMonth  calendar.IsLeapMonth(2020, 5);bool is_leapDay  calendar.IsLeapDay(2020, 5, 26);同样我们也可以用公历转阴历DateTime date  DateTime.Now;Calendar calendar  new ChineseLunisolarCalendar();int year  calendar.GetYear(date);/* 2020 */int month  calendar.GetMonth(date);/* 6 */int day  calendar.GetDayOfMonth(date);/* 24 */以上就是全部内容了。有没有发现微软实现的功能比我们想像的要多(全文完)喜欢就来个三连让更多人因你而受益
http://www.zqtcl.cn/news/273090/

相关文章:

  • 重庆市工程建设信息网新网站艺术品商城网站开发
  • 上海网站制作商wordpress改主题
  • 钰鸣厦门网站建设2023热点新闻事件
  • 网络营销的主要形式有建设网站免费搭建网站哪个好
  • 建一个网站需要哪些人aso是什么意思
  • 电商网站有哪些淘宝运营培训班哪里有
  • 网站开发网站制作太原优化排名推广
  • 佛山市网站开发桥西区建设局网站
  • 怎么制作网站应用云主机上传wordpress
  • flash网站代做马鞍山网站建设制作公司
  • 温州网站的优化wordpress 注册邮箱验证失败
  • php网站开发实例视频教程宁波seo运营推广平台排名
  • 网络营销网站开发设计公司网站推广营销
  • 2015年做那个网站致富wordpress最新模板
  • 做网站开发平台北京广告公司有哪些
  • 郑州企业建站系统模板兰州需要做网站的公司有哪些
  • 怎样做网站卖东西 自己有货句容网络公司
  • 网站建设协议书 保密条款免费发布推广的网站
  • 网站首页外链上海网站建设联系方式
  • 陕西网站建设优化技术2023年1月热点新闻事件
  • 广东省建设银行招聘网站免费搭建个人网站
  • 知名商城网站建设公司wordpress主题 汉化
  • 网站上线做什么pc网站如何做移动适配
  • wap网站搭建北京北京网站建设
  • 放心的网站设计制作免费做logo设计的网站
  • 温州专业手机网站制作多少钱移动商城 网站建设方法方式
  • 周口网站开发wordpress
  • 如何查网站的备案号玉环在哪里做网站
  • 网站开发什么叫前端后端seo研究中心晴天
  • 邢台建筑类的建设网站代刷网站只做软件下载