如何使用 ToString() 格式化可为空的 DateTime?

2023-12-01

如何转换可为空的日期时间dt2到格式化字符串?

DateTime dt = DateTime.Now;
Console.WriteLine(dt.ToString("yyyy-MM-dd hh:mm:ss")); //works

DateTime? dt2 = DateTime.Now;
Console.WriteLine(dt2.ToString("yyyy-MM-dd hh:mm:ss")); //gives following error:

ToString 方法没有重载 一个论点


Console.WriteLine(dt2 != null ? dt2.Value.ToString("yyyy-MM-dd hh:mm:ss") : "n/a"); 

编辑:如其他评论中所述,检查是否有非空值。

更新:按照评论中的建议,扩展方法:

public static string ToString(this DateTime? dt, string format)
    => dt == null ? "n/a" : ((DateTime)dt).ToString(format);

从 C# 6 开始,您可以使用空条件运算符进一步简化代码。如果以下表达式将返回 nullDateTime?一片空白。

dt2?.ToString("yyyy-MM-dd hh:mm:ss")
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 ToString() 格式化可为空的 DateTime? 的相关文章

  • 没有强命名的代码签名是否会让您的应用程序容易被滥用?

    尝试了解authenticode代码签名和强命名 我是否正确地认为 如果我对引用一些 dll 非强命名 的 exe 进行代码签名 恶意用户就可以替换我的 DLL 并以看似由我签名但正在运行的方式分发应用程序他们的代码 假设这是真的 那么您似
  • 为什么两个不同的 Base64 字符串的转换会返回相等的字节数组?

    我想知道为什么从 base64 字符串转换会为不同的字符串返回相同的字节数组 const string s1 dg const string s2 dq byte a1 Convert FromBase64String s1 byte a2
  • 按成员序列化

    我已经实现了template
  • Asp.NET WebApi 中类似文件名称的路由

    是否可以在 ASP NET Web API 路由配置中添加一条路由 以允许处理看起来有点像文件名的 URL 我尝试添加以下条目WebApiConfig Register 但这不起作用 使用 URIapi foo 0de7ebfa 3a55
  • 为什么当实例化新的游戏对象时,它没有向它们添加标签? [复制]

    这个问题在这里已经有答案了 using System Collections using System Collections Generic using UnityEngine public class Test MonoBehaviou
  • 类模板参数推导 - clang 和 gcc 不同

    下面的代码使用 gcc 编译 但不使用 clang 编译 https godbolt org z ttqGuL template
  • 用于登录 .NET 的堆栈跟踪

    我编写了一个 logger exceptionfactory 模块 它使用 System Diagnostics StackTrace 从调用方法及其声明类型中获取属性 但我注意到 如果我在 Visual Studio 之外以发布模式运行代
  • OleDbDataAdapter 未填充所有行

    嘿 我正在使用 DataAdapter 读取 Excel 文件并用该数据填充数据表 这是我的查询和连接字符串 private string Query SELECT FROM Sheet1 private string ConnectStr
  • C# 中通过 Process.Kill() 终止的进程的退出代码

    如果在我的 C 应用程序中 我正在创建一个可以正常终止或开始行为异常的子进程 在这种情况下 我通过调用 Process Kill 来终止它 但是 我想知道该进程是否已退出通常情况下 我知道我可以获得终止进程的错误代码 但是正常的退出代码是什
  • while 循环中的 scanf

    在这段代码中 scanf只工作一次 我究竟做错了什么 include
  • 如何在整个 ASP .NET MVC 应用程序中需要授权

    我创建的应用程序中 除了启用登录的操作之外的每个操作都应该超出未登录用户的限制 我应该添加 Authorize 每个班级标题前的注释 像这儿 namespace WebApplication2 Controllers Authorize p
  • 如何在 C 中调用采用匿名结构的函数?

    如何在 C 中调用采用匿名结构的函数 比如这个函数 void func struct int x p printf i n p x 当提供原型的函数声明在范围内时 调用该函数的参数必须具有与原型中声明的类型兼容的类型 其中 兼容 具有标准定
  • 什么时候虚拟继承是一个好的设计? [复制]

    这个问题在这里已经有答案了 EDIT3 请务必在回答之前清楚地了解我要问的内容 有 EDIT2 和很多评论 有 或曾经 有很多答案清楚地表明了对问题的误解 我知道这也是我的错 对此感到抱歉 嗨 我查看了有关虚拟继承的问题 class B p
  • 这些作业之间是否存在顺序点?

    以下代码中的两个赋值之间是否存在序列点 f f x 1 1 x 2 不 没有 在这种情况下 标准确实是含糊不清的 如果你想确认这一点 gcc 有这个非常酷的选项 Wsequence point在这种情况下 它会警告您该操作可能未定义
  • 通过指向其基址的指针删除 POD 对象是否安全?

    事实上 我正在考虑那些微不足道的可破坏物体 而不仅仅是POD http en wikipedia org wiki Plain old data structure 我不确定 POD 是否可以有基类 当我读到这个解释时is triviall
  • cmake 将标头包含到每个源文件中

    其实我有一个简单的问题 但找不到答案 也许你可以给我指一个副本 所以 问题是 是否可以告诉 cmake 指示编译器在每个源文件的开头自动包含一些头文件 这样就不需要放置 include foo h 了 谢谢 CMake 没有针对此特定用例的
  • 哪种 C 数据类型可以表示 40 位二进制数?

    我需要表示一个40位的二进制数 应该使用哪种 C 数据类型来处理这个问题 如果您使用的是 C99 或 C11 兼容编译器 则使用int least64 t以获得最大的兼容性 或者 如果您想要无符号类型 uint least64 t 这些都定
  • 如何将服务器服务连接到 Dynamics Online

    我正在修改内部管理应用程序以连接到我们的在线托管 Dynamics 2016 实例 根据一些在线教程 我一直在使用OrganizationServiceProxy out of Microsoft Xrm Sdk Client来自 SDK
  • C# - OutOfMemoryException 在 JSON 文件上保存列表

    我正在尝试保存压力图的流数据 基本上我有一个压力矩阵定义为 double pressureMatrix new double e Data GetLength 0 e Data GetLength 1 基本上 我得到了其中之一pressur
  • Windows 和 Linux 上的线程

    我在互联网上看到过在 Windows 上使用 C 制作多线程应用程序的教程 以及在 Linux 上执行相同操作的其他教程 但不能同时用于两者 是否存在即使在 Linux 或 Windows 上编译也能工作的函数 您需要使用一个包含两者的实现

随机推荐

  • 将自定义 CSS 样式添加到模型表单 django

    我正在使用引导程序变体来帮助设计模型表单 我希望其中一个字段是某个类 并且我已经阅读了有关该主题的内容 普遍的共识是向 ModelForm 的元添加一个小部件 就像我在下面尝试的那样 forms py class EmailForm for
  • 如何更改 R 中的库位置? [复制]

    这个问题在这里已经有答案了 由于新的 R 2 11 版本 我想实施 Dirk 的建议here 因此 我要问 如何 永久 更改 R 的库路径 最好的解决方案是可以从 R 内部运行的解决方案 您可以编辑Rprofile in the base图
  • 按 varchar 列选择,条件中包含 IN() 部分,int 值返回所有行

    有人可以用这个查询解释一下为什么吗 SELECT FROM tags WHERE tag IN willa lentza 2016 它返回我的所有行tags表 但是当我把2016进入引号效果好吗 tag列是varchar type 示例环境
  • 如何在没有 P/Invoke 的情况下从 C# 创建挂起进程?

    WinAPI CreateProcess 具有标志 CREATE SUSPENDED 因此可以在执行某些操作之前将进程附加到 JobObject 然后为其主线程调用 ResumeThread 我发现寻找解决方案的唯一方法是这个帖子11年前写
  • Jquery,获取元素名称以给定字符串开头的元素

    如何使用 jquery 获取名称以 productElement 开头的所有输入文本元素 您使用属性以 开始选择器 name value 选择具有指定属性和值的元素 完全从给定的字符串开始 input name productElement
  • 为什么我的 head 选择中的 javascript 代码无法获取元素?

    我已经在 javascript 中研究 pi 计算器很长时间了 我终于完成了 问题是我的头部脚本 document getElementById button addEventListener click function alert Be
  • 媒体查询和设备方向变化

    我有下面的代码 我想要实现的是在移动设备的样式之间切换 将方向从纵向更改为横向 具有大分辨率的设备 如 iPhone 4 或 Galaxy S
  • 是否可以将tornado的gen.engine和gen.Task与twisted一起使用?

    我正在从事的项目都是用 Tornado 编写的 但我添加了一些 Twisted 来处理异步 XML RPC 我想知道您是否可以使用 Tornado 的 gen engine 并使用 Twisted 的代码生成 gen Task 这可能吗 如
  • 使用 jQuery 将每个字符包装在 except 标签中

    我试图将每个文本字符包装在 div div 带有跨度标签 没问题 只是我还需要保持嵌套标签不被修改 因此 如果 DIV 内的字符串是 Some random text b but b wait there s a href http w3
  • 使用 jquery 的改写模式 [关闭]

    很难说出这里问的是什么 这个问题模棱两可 含糊不清 不完整 过于宽泛或言辞激烈 无法以目前的形式合理回答 如需帮助澄清此问题以便重新打开 访问帮助中心 如何使我的输入字段就像键盘处于改写模式一样 当用户输入值但没有任何反应时 我尝试使用键盘
  • 如何复制结构并取消引用所有指针

    如何将 Item 结构和所有指针复制到新结构 type Item struct A ASet json a omitempty B BSet json b omitempty C CSet json c omitempty type ASe
  • 工作表中最后使用的单元格

    我是新来的 我希望使用 Excel VBA 返回工作表中最后使用的单元格 我看着使用 VBA 在 Excel 中查找上次使用的单元格时出错 但这并没有回答我遇到的两个问题 The Cells Find Row方法在我的代码中花费的时间太长
  • Svg - 文本元素的颜色背景/覆盖

    我刚刚开始使用 svg 并试图找出样式的局限性 我在 svg 中有一个 svg 文本元素 我的一些文本元素标记有 data editable true 我希望用户能够轻松地看到标记的元素是什么 我正在想象一个简单的 可切换的 半透明的覆盖层
  • 在SQL Server中合并一列中的每两行数据

    我的表结构是 Id UserId EventId 1 1 A 2 1 B 3 1 C 4 1 A 5 1 D 我需要的输出 UserId EventStart EventEnd 1 A B 1 B C 1 C A 1 A D 我希望每两行合
  • C# XML 在 xml 标签后插入注释到 XML

    我正在使用 C 对象来序列化 反序列化 XML 我想在序列化时向 XML 文件添加注释 该注释将是基本注释在标准 xml 标签之后 该注释不需要反序列化 它是一个基本注释 用于指示创建 xml 文件的产品和版本 可以直接序列化成新的X文档
  • 在 C# 中调用 SQL 连接方法

    我正在将此方法调用到我的登录表单 我不知道这有什么问题 我创建了一个名为 MyConnection 的类 该类包含我的 SQL ConnectionString 我想要的是我可以将此函数称为 ex 名为 Myfunction 的 Class
  • 在 Spring Rest 模板中设置超时

    应用程序正在使用 Spring Rest 模板来调用 Web 服务 我正在使用restTemplate exchange url 调用 Web 服务 目前我们没有为此 Web 服务调用传递任何超时值 我如何为 Spring Rest 模板设
  • 我如何使用Python脚本从网站获取pdf链接

    我经常需要从网站下载 pdf 文件 但有时它们不在一页上 他们在分页中划分了链接 我必须单击每一页才能获取链接 我正在学习 python 我想编写一些脚本 我可以在其中放置 web url 并从该网站提取 pdf 链接 我是 python
  • 确保在 StringTemplate 中转义 HTML 实体的最佳方法是什么

    假设有以下字符串模板 给出了 Java Bean 对象的列表 ul people p li p name p email li ul 即人员列表可能包含Person您可能有能力或没有能力增强 扩展的对象 class Person publi
  • 如何使用 ToString() 格式化可为空的 DateTime?

    如何转换可为空的日期时间dt2到格式化字符串 DateTime dt DateTime Now Console WriteLine dt ToString yyyy MM dd hh mm ss works DateTime dt2 Dat