.net dateTime 使用总结

使用C#的.NET框架,我们可以使用DateTime类来处理时间和日期。DateTime类是.NET中的内置类,提供了各种方法和属性,用于操作和处理日期和时间。 以上是一些常用的DateTime类的功能和用法。使用DateTime类,我们可以轻松地处理和操作日期和时间。需要注意的是,DateTime类是不可变的,即每次修改日期和时间后都会返回一个新的DateTime对象。因此,在进行日期和时间的加减运算时,需要将结果保存到新的变量中。希望这些示例代码和说明对你有帮助!如果你有任何进一步的问题,请随时提问。 阅读详情

项目中总会遇到对时间的处理,格式问题 还有UTC时间和LOCAL时间显示出错。

  • 如何设置全局的时间toString的格式,从一个是dataTime类型的时间转成我们想要的格式:
C#中最简单的就是直接用DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") 做,当然可以但都要写这样的格式有些麻烦,我们可以设置全局的时间toString的格式,重写datetime中的一些方法来实现我们自己要的格式。
  1. 首先到global.cs文件下面 在应用启动的时候,去加载时间格式初始化,这里重写了Application_BeginRequest 方法。
  2. protected void Application_BeginRequest(object sender, EventArgs e)
            {
                LocalizationSetting.SetCultureAndDateTimeFormat();
            }
    这里是setCultureAndDateTiemFormat 方法, 重写shortDate(),这些方法。 时间格式是配置在config中的。
      <add key="shortTimeFormat" value="HH:mm:ss" />
      <add key="shortDateFormat" value="dd/MM/yyyy" />
     public static void SetCultureAndDateTimeFormat()
            {
                var globalizationSection = GlobalizationSectionFactory.GetGlobalizationSection();
    
                var culture = new CultureInfo(globalizationSection.Culture);
                var shortDateFormat = SysParamFactory.GetSysParam<string>("shortDateFormat");
                var shortTimeFormat = SysParamFactory.GetSysParam<string>("shortTimeFormat");
                 
                if (!string.IsNullOrWhiteSpace(shortDateFormat) && !string.IsNullOrWhiteSpace(shortTimeFormat))
                {
                    culture.DateTimeFormat.ShortDatePattern = shortDateFormat;
                    culture.DateTimeFormat.LongDatePattern = shortDateFormat;
                    culture.DateTimeFormat.ShortTimePattern = shortTimeFormat;
                    culture.DateTimeFormat.LongTimePattern = shortTimeFormat;
                    culture.DateTimeFormat.FullDateTimePattern = string.Format("{0} {1}", shortDateFormat, shortTimeFormat);
                }
    
                CultureInfo.DefaultThreadCurrentCulture = culture;
                CultureInfo.DefaultThreadCurrentUICulture = culture;
    
                Thread.CurrentThread.CurrentCulture = culture;
                Thread.CurrentThread.CurrentUICulture = culture;
            } 
    然后,就可以在代码中这样用了
    StartDate.ToLocalTime().ToShortDateString()
    最近项目返现,从前端传过来的时间是正确的,但是在拿到之后,因为ajax请求的这边用到了Newtonsoft.Json 这个第三方开源的类库,但是发现这个时间转成object是用UTC的时间,所以一定要记得用ToLocalTime()再去转一下才正确。     
      Newtonsoft.Json.JsonConvert.DeserializeObject<ARequestModel>(Request.Form["absenceRequestModel"]);
   
  •    字符转成时间:c#中默认DateTime.Parse(satrtDate); 使用这个方法,日期格式必须是‘yyyy-MM-dd HH:mm:ss’这样的格式,如果我们‘dd/MM/yyyy’有这样的格式就要指定格式来转换了.
var newData = DateTime.ParseExact(satrtDate, "dd/MM/yyyy",null);

  •   有时候对接接口时发现,有些时间数据格式是这个样子的,其实也是json中的一种,"\/Date(1506788352175+0800)\/" 。
但是我发现我用Newtonsoft.Json 去把object转成来的默认时间格式这个样子"2017-10-01T00:19:12.1757748+08:00"。
最终网上找了下,我用了下面C#自带的DataContractJsonSerializer 可以成功转成上面的格式。
        public static string EntityToJson(object requestEntity)
        {
            var serializer = new DataContractJsonSerializer(requestEntity.GetType());
            MemoryStream ms = new MemoryStream();
            serializer.WriteObject(ms, requestEntity);
            byte[] myByte = new byte[ms.Length];
            ms.Position = 0;
            ms.Read(myByte, 0, (int)ms.Length);
            string dataString = Encoding.UTF8.GetString(myByte);
            ms.Close();
            return dataString;
        }
        public static T Deserialize<T>(string json)
        {
            T obj = Activator.CreateInstance<T>();
            using (MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(json)))
            {
                DataContractJsonSerializer serializer = new DataContractJsonSerializer(obj.GetType());
                return (T)serializer.ReadObject(ms);
            }
        }



家庭路由器从入门到精通:连接设置、优化排障全指南 路由器作为家庭网络的核心枢纽,其工作原理基于NAT(网络地址转换)和DHCP(动态主机配置协议)两大关键技术。NAT负责将公网IP转换为多个内网IP,实现多设备共享上网;DHCP则自动为接入设备分配IP地址,简化网络配置。这些技术共同构建了稳定、安全的局域网环境,其价值在于为智能家居、在线办公、高清影音和游戏娱乐等场景提供可靠的网络基础。理解路由器的物理连接、后台设置与故障排查逻辑,是优化Wi-Fi信号覆盖、提升网络性能、保障家庭网络安全的关键。本文以路由器配置与排障为核心,详细解析从WAN/LAN口区分、 阅读详情

相关推荐

我用两种方式玩转 MCP:CherryStudio vs VS Code 实测手记

MCP,全称,你可以理解为——给大模型装上“手脚”和“工具箱”。传统大模型像一位博学但手不能动的学者:“我知道怎么算圆周率,但没法打开计算器。而支持 MCP 的模型,能通过标准协议自动调用外部工具(比如fetch网络请求、readFile读文件、shell执行命令),真正做到“知行合一”。输入后**,保存,**之后就显示出来了MCP 不是“魔法”,而是把 AI 从“问答机”升级为“智能代理”的关键一步。工具本身不难,难的是“知道它能解决什么问题”。

zyq569的博客 1021

C# DateTime类,TimeSpan类

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

621

BUSCO评估基因组的完整性

因为数据库收集的时候找的就是在不同的物种间都是单拷贝的基因,所以说在评估的物种里面应该也是单拷贝的状态才对。基因组层面评估:先去基因组上预测这些基因,再去做评估,如果说给他是一个注释好的基因集,这个时候提供的是一个蛋白集合,它就直接是去进行同源搜索,再去评估,看BUSCO数据库里面的这些单拷贝基因有或者无;首先,tblastn也是同源搜索,同源搜索之后,去对转录本进行读码框预测,预测完的结果还是去进行hmmsearch的搜索(hmmsearch是做蛋白质结构域搜索的),最终拿到BUSCO评估结果。

qq_64400864的博客 2960

.NET 中的DateTime

DateTime简介 DateTime是.NET中的时间类型,可以通过DateTime完成诸如获取当前的系统时间等操作。DateTime在.NET中是一个结构体,而并不是一个类。 如上图所示,这个图标在VS中 表示结构体。 DateTime的常用方法和成员 1.Now获取当前系统时间。格式如下图 2.Today获取...

weixin_30518397的博客 1143

初学者入门机器学习 (ML)的推荐教程

了解基本的机器学习概念并不难。有大量免费的在线博客文章、视频和编码教程可以引导您了解基础知识——从介绍性内容到常见应用程序,再到算法和应用技能。这篇文章总结了一些用于介绍 ML 的最佳免费选项。它按逻辑顺序排列,每个概念都建立在上一个概念的基础上。

u010542847的博客 4621

Visual Studio Git 使用指南

Visual Studio 2022深度集成了Git功能,提供了直观的图形界面管理源代码。本文详细介绍了VS中Git的使用方法:从环境准备、克隆/创建仓库开始,重点讲解了"Git更改"窗口的日常操作,包括查看修改、暂存文件、提交推送等。同时涵盖了分支管理、查看历史、解决冲突等核心功能,以及储藏、重置等高级操作。文章还提供了实用技巧,如提交规范、频繁提交等最佳实践。VS的Git集成覆盖了日常开发需求,图形界面与命令行可互补使用,适合各层次开发者高效管理代码版本。

guigenyi的专栏 1570

.net 时间操作(datetime数据类型,datetime方法)

1、DateTime 数字型 System.DateTime currentTime=new System.DateTime(); 1.1 取当前年月日时分秒 currentTime=System.DateTime.Now; 1.2 取当前年 int 年=currentTime.Year; 1.3 取当前月 int 月=currentTime.Month; 1.4 取当前日 int 日=cur...

weixin_33978016的博客 460

ANSYS 有限元分析 接触分析

目 录一、前沿二、接触单元类三、接触单元关键选项3.1 CONTA174 KeyOption3.2 TARGE170 KeyOption四、接触分析标准步骤4.1 定义实常数4.2 定义接触和目标单元4.3 创建接触和目标单元五、接触分析实例5.1 MPC5.2 标准接触六、尾声七、参考文献 阿阳的 ANSYS 使用指南,本文仅用于个人学习,除此之外,无其他任何用途。 ANSYS 有限元分析 概述 ANSYS 有限元分析 坐标系/工作平面 ANSYS 有限元分析 几何建模 ANSY

Hulunbuir 4万+

你需要掌握的有关.NET DateTime类型的知识点和坑位 都在这里

引言   DateTime数据类型是一个复杂的问题,复杂到足以让你在编写【将日期从Web服务器返回到浏览器】简单代码时感到困惑。 ASP.NET MVC 5和 Web API 2/ASP.NETCore 以不同方式序列化日期,这可能会给在一个Web应用程序中同时使用这两个序列化的开发人员带来更多混淆。 本文会尽量覆盖 ASP.NET / ASP.NETCore 中与 Date/Time有...

weixin_30652897的博客 409

【OpenClaw从入门到精通】第20篇:OpenClaw实战—从零搭建教育自动化助教系统(作业批改+智能答疑+学情分析)【2026实测】

本文基于OpenClaw开源框架,聚焦教育行业“答疑重复、批改耗时、学情模糊”三大核心痛点,提供从环境部署到功能落地的全流程实操方案。通过整合QQ群交互、代码分析、数据可视化等技能,构建“智能答疑+作业批改+学情分析”的自动化助教系统。系统支持7×24小时群聊答疑、多语言作业自动评审、学情数据周报生成,经实测可使助教工作时间减少60%、作业批改效率提升5-10倍、学情问题识别提前5周。文中包含完整配置步骤、可直接运行的代码示例及避坑指南,兼顾新手入门与进阶实操,帮助教育工作者快速落地自动化工具,从重复劳动中

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 1450

海康Visionmaster-全局脚本:VM 加载方案后自动执行 的方法,如何让VM在方案加载后自动执行流程?

海康Visionmaster-全局脚本:VM 加载方案后自动执行 的方法,如何让VM在方案加载后自动执行流程?

视觉人机器视觉的博客 2037

在VB.net中,DateTime类使用,举例说明

==标题==在VB.net中,DateTime类使用,举例说明==前面学习相关==1.在VB.net中,如何把"20240906"转化成日期格式2.在VB.net中 DateTime有什么属性与方法3.在VB.net中,Stopwatch有什么属性与方法==正文==在VB.NET中,`DateTime` 类用于处理日期和时间数据。这个类提供了丰富的功能来创建、格式化、解析日期时间值以及进行日期时间...

fsyuheduo的博客 1037

Arduino、ESP32驱动SFA40甲醛传感器(气体传感器篇)

SFA40甲醛传感器是一款基于盛思锐电化学原理的专业HCHO检测模块,具备卓越的抗酒精干扰能力(乙醇交叉敏感度<0.3%)、高达±20ppb的检测精度及0~1000ppb的宽量程。该传感器内置SHT4X温湿度传感器进行自动补偿,确保数据的长期稳定性;其小尺寸、低功耗的特性,可快速集成至智能家居、空气净化器、物联网环境监测等系统中,实现对甲醛浓度的精准、可靠监测。

不脱发的程序猿 303

使用.NET的DateTime函数获取上个月的起始和截止时间

报表中经常遇到的一个头疼的问题是需要自动选择过去一个月的数据作为当前报表输出。网上查询了一些.NET 的C#例子,发现都实现的比较复杂,其实这个问题可以很简单的通过.NET的DateTime函数来实现,因为.NET中给我们提供了当前天数--System.DateTime.Now.Day函数,还有增加天和月份的AddDays和AddMonth函数。 于是我们可以设想,当前时间-当前天数 =

Batman的博客 4212

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

asp.net中DateTime使用

 用法举例:        DateTime da = DateTime.Now;        this.TextBox1.Text = da.AddDays(-8).Second.ToString().Replace("-", "").Replace(":", "").Replace(" ", "");           //C#里内置的DateTime基本上都可以实

ilsas的专栏 1172

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

关于ASP.NET CORE使用DateTime日期类型参数的一个小细节

2.不要在方法里对DateTime参数进行判空操作,因为当你不为DateTime传入值时,它会被默认设置为 DateTime.MinValue 测试: 故

jamenu的博客 1655

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

使用.NET向webService传double、int、DateTime 服务器得到的数据时null的问题

用C#.NET调用Java开发的WebService时,先在客户端封装的带有int属性的对象,当将该对象传到服务器端时,服务器端可以得到string类型的属性值,却不能得到int类型、double和DateTime类型的值(在服务端得到的均为null)解决办法:VS2005封装WebService引用时,如果WebService发布的是一个基本数据类型组成的对象,则会对该对象的非string属性同

ABC123 3694

.Net中C# DateTime类的ToString()方法的使用

Console.WriteLine("ToShortDateString:" + DateTime.Now.ToShortDateString()); Console.WriteLine("ToLongDateString:" + DateTime.Now.ToLongDateString()); Console.WriteLine("ToShortTimeString:"...

anbd0604的博客 677

asp.net DateTime的使用

DateTime.Now.ToShortTimeString() DateTime dt = DateTime.Now; dt.ToString();//2005-11-5 13:21:25 dt.ToFileTime().ToString();//127756416859912816 dt.ToFileTimeUtc().ToString();//127756704859912816...

weixin_30924239的博客 299

asp.net中DateTime使用(转)

//C#里内置的DateTime基本上都可以实现这些功能,巧用DateTime会使你处理这些事来变轻松多了 //今天DateTime.Now.Date.ToShortDateString();//昨天,就是今天的日期减一DateTime.Now.AddDays(-1).ToShortDateString();//明天,同理,加一DateTime.Now.AddDays(

张亚京 1054

C#/.NET DateTime类的使用小结

当前时间(格式1) DateTime.Now.ToString("yyyy-MM-dd hh:mm:sss") 当前时间(格式2) DateTime.Now.ToString("yyyy年MM月dd日 HH时mm分sss") 今年 DateTime.Now.Year 是不是闰年 string rn = DateTime.IsLeapYear(Da...

anwang0152的博客 267

使用.NET向webService传double、int、DateTime类型数据, 在发送包的XML中没有提交数据到 服务器...

   用C#.NET调用Java开发的WebService时,先在客户端封装的带有int属性的对象,当将该对象传到服务器端时,服务器端可以得到string类型的属性值,却不能得到int类型、double和DateTime类型的值(在服务端得到的均为null)解决办法:VS2005封装WebService引用时,如果WebService发布的是一个基本数据类型组成的对象,则会对该对象的非...

123

ASP.NET DateTime 使用(一)

1.绑定时格式化日期方法:  &lt;ASP:BOUNDCOLUMN DATAFIELD= "JoinTime " DATAFORMATSTRING= "{0:yyyy-MM-dd} " &gt;  &lt;ITEMSTYLE WIDTH= "18% " &gt; &lt;/ITEMSTYLE &gt;  &lt;/ASP:BOUNDCOLUMN &gt; 2.数据控件如DataGr

weixin_42091613的博客 464
上一篇: .net C#使用私钥sign公钥验证 验证JWS signature data
下一篇: MSCRM365 在线版本的connection Alternate key使用 MultipleRequest批量查询提交
IT小白lp
博客等级 码龄15年 3粉丝 17原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值