c# 格式化可选日期时间

问题描述 投票:0回答:1

这是我的职责:

private static string strTimeStampMsg(string strMsg, DateTime? dtTimestamp = null) {
    if (strMsg == null || strMsg.Length == 0) {
        return string.Empty;
    }
    string strDateTime;
    if (dtTimestamp != null) {
        strDateTime = dtTimestamp.ToString(CSTR.dtFormat);
    } else {
        strDateTime = DateTime.Now.ToString(CSTR.dtFormat);
    }
    return strDateTime + "> " + strMsg;
}

CSTR.dtFormat 在 DLL 中定义:

public const string dtFormat = "dd-MM-yyyy HH:mm:ss.fff";

今天我添加了可选的,问题是行:

strDateTime = dtTimestamp.ToString(CSTR.dtFormat);

ToString 下有红色下划线,为什么以及如何解决,同时能够使用所需的格式进行格式化?

c# datetime optional-parameters
1个回答
1
投票

ToString 下有红色下划线,为什么以及如何解决,同时能够使用所需的格式进行格式化?

嗯,你可以使用

dtTimestamp.Value.ToString(...)
,这样你就可以尝试调用
DateTime.ToString
而不是
Nullable<DateTime>.ToString()
。但有一个更好的解决方案可以避免代码重复:

string strDateTime = (dtTimestamp ?? DateTime.Now).ToString(CSTR.dtFormat);
© www.soinside.com 2019 - 2024. All rights reserved.