C#之日期格式转换过程

 更新时间:2026年05月25日 16:24:36   作者:陈同学呀  
本文详细介绍了DateTime转字符串(ToString)及字符串转DateTime(Parse/ParseExact/TryryuserParse/Try Pornhub在2本文详细介绍了如何使用DateTime的ToString和Parse/ParseExact/Try总结了DateTime转换方法,帮助开发者更高效地处理日期时间数据

1. DateTime ? 转字符串 (ToString)

public DateTime? ProductDate { get; set; }

//将DateTime?类型的 ProductDate 转为字符串“yyyyMMdd“形式:
ProductDate.Value.ToString("yyyyMMdd"),

2. 字符串转 DateTime (Parse/ParseExact/TryParse)

//方式一:
Convert.ToDateTime(string) 

//注意:string格式有要求,必须是yyyy-MM-dd hh:mm:ss

//方式二:
Convert.ToDateTime(string, IFormatProvider)

//说明:任意格式可自定义规则。

//方式三:
DateTime.ParseExact()

//说明:任意格式可自定义规则。
var productDate="20230425";
var new = DateTime.ParseExact(productDate, "yyyyMMdd", CultureInfo.CurrentCulture);

string dateStr2 = "15/05/2023 14:30";
DateTime date2 = DateTime.ParseExact(dateStr2, "dd/MM/yyyy HH:mm", CultureInfo.InvariantCulture);

//方式四 使用Parse (自动识别格式)
string dateStr = "2023-05-15";
DateTime date1 = DateTime.Parse(dateStr);

3. DateTime 转字符串 (ToString)

DateTime now = DateTime.Now;

// 标准格式
Console.WriteLine(now.ToString("d"));       // 短日期 如: 2023/05/15
Console.WriteLine(now.ToString("D"));       // 长日期 如: 2023年5月15日
Console.WriteLine(now.ToString("t"));       // 短时间 如: 14:30
Console.WriteLine(now.ToString("T"));       // 长时间 如: 14:30:15
Console.WriteLine(now.ToString("f"));       // 完整日期+短时间 如: 2023年5月15日 14:30
Console.WriteLine(now.ToString("F"));       // 完整日期+长时间 如: 2023年5月15日 14:30:15
Console.WriteLine(now.ToString("g"));       // 通用短格式 如: 2023/05/15 14:30
Console.WriteLine(now.ToString("G"));       // 通用长格式 如: 2023/05/15 14:30:15
Console.WriteLine(now.ToString("M"));       // 月日格式 如: 5月15日
Console.WriteLine(now.ToString("Y"));       // 年月格式 如: 2023年5月

// 自定义格式
Console.WriteLine(now.ToString("yyyy-MM-dd"));          // 2023-05-15
Console.WriteLine(now.ToString("yyyy/MM/dd HH:mm:ss")); // 2023/05/15 14:30:15
Console.WriteLine(now.ToString("dddd, MMMM dd, yyyy")); // 星期一, 五月 15, 2023
Console.WriteLine(now.ToString("MMM dd, yyyy"));        // 5月 15, 2023
Console.WriteLine(now.ToString("hh:mm tt"));            // 02:30 下午

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • WinForm实现多屏交互的实战技巧和避坑指南

    WinForm实现多屏交互的实战技巧和避坑指南

    你是否遇到过这些问题窗体显示在错误的屏幕、窗口位置被任务栏遮挡或者跨屏拖拽卡顿,本文将通过 3步核心流程、5大实战技巧和10个高频避坑指南,教你彻底掌握WinForm多屏交互开发,让窗体精准飞向副屏,需要的朋友可以参考下
    2025-09-09
  • Unity3D使用陀螺仪控制节点旋转

    Unity3D使用陀螺仪控制节点旋转

    这篇文章主要为大家详细介绍了Unity3D使用陀螺仪控制节点旋转,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-11-11
  • C#中的where泛型约束介绍

    C#中的where泛型约束介绍

    这个关于泛型约束的东西我看了几天了。一直没打看懂,我的领悟能力有点差,刚才突然明白了一点
    2013-04-04
  • C#实现将Word转化分享为电子期刊

    C#实现将Word转化分享为电子期刊

    曾经由一个项目,要求实现制作电子期刊定期发送给企业进行阅读,由编辑人员使用 Microsoft Word先生成PDF文件,然后将生成的PDF文件转化为JPEG文件,最后将JPEG文件生成电子书模式,本文给大家介绍了C#实现将Word转化分享为电子期刊,需要的朋友可以参考下
    2023-12-12
  • C#递归算法之快速排序

    C#递归算法之快速排序

    快速排序由C.A.R发明,它依据中心元素的值,利用一系列递归调用将数据表划分成越来越小的子表。在每一步调用中,经过多次的交换,最终为中心元素找到最终的位置。
    2016-06-06
  • 基于C#实现在图片上绘制文字

    基于C#实现在图片上绘制文字

    这篇文章主要为大家详细介绍了如何利用C#实现在图片上绘制文字的效果,文中的示例代码讲解详细,对我们学习C#有一定的帮助,感兴趣的小伙伴可以跟随小编一起了解一下
    2022-12-12
  • visio二次开发--判断文档是否已发生变化(变化就加星号*)

    visio二次开发--判断文档是否已发生变化(变化就加星号*)

    最近做一个故障树诊断的项目,用visio二次开发,可以同时打开多个绘制的故障树图形文档。项目中需要实现判断文档是否发生变化,这是很多编辑软件的基本功能,变化了就加个星号*
    2013-04-04
  • C# WPF使用GDI实现截屏功能

    C# WPF使用GDI实现截屏功能

    这篇文章主要为大家详细介绍了C# WPF如何使用GDI实现截屏功能,文中的示例代码讲解详细,具有一定的借鉴价值,有需要的小伙伴可以跟随小编一起学习一下
    2024-03-03
  • DataGridView自定义单元格表示值、Error图标显示的方法介绍

    DataGridView自定义单元格表示值、Error图标显示的方法介绍

    这篇文章介绍了DataGridView自定义单元格表示值、Error图标显示的方法,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-02-02
  • C#窗体实现酒店管理系统

    C#窗体实现酒店管理系统

    这篇文章主要为大家详细介绍了C#窗体实现酒店管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-08-08

最新评论