Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 以本地格式显示日期,但强制时间为24小时格式_C#_Asp.net Mvc_Datetime Format - Fatal编程技术网

C# 以本地格式显示日期,但强制时间为24小时格式

C# 以本地格式显示日期,但强制时间为24小时格式,c#,asp.net-mvc,datetime-format,C#,Asp.net Mvc,Datetime Format,在一个例子中,我用 [DisplayFormat(DataFormatString = "{0:dd/MM/yyyy HH:mm:ss}")] 在另一个例子中,是插值字符串 $"{theDateTimeObject:dd/MM/yyyy HH:mm:ss}" 我希望以本地格式显示日期(美国为MM/dd/yyyy),但始终以24小时格式显示时间,而不考虑任何操作系统设置或其他 提前感谢您的帮助。一种方法是显示字符串属性,而不是实际的日期时间值。 下面是一个例子: private DateTim

在一个例子中,我用

[DisplayFormat(DataFormatString = "{0:dd/MM/yyyy HH:mm:ss}")]
在另一个例子中,是插值字符串

$"{theDateTimeObject:dd/MM/yyyy HH:mm:ss}"
我希望以本地格式显示日期(美国为MM/dd/yyyy),但始终以24小时格式显示时间,而不考虑任何操作系统设置或其他


提前感谢您的帮助。

一种方法是显示字符串属性,而不是实际的日期时间值。
下面是一个例子:

private DateTime _actualDateTime;

public string DateTimeForDisplay
{
    get 
    {
        return _actualDateTime.ToString("d") +" "+ _actualDateTime.ToString("HH:mm:ss");
    }
}

有什么问题吗?那么。。。在美国,你想使用<代码> MM/DD/YYYY < /C> >在英国使用<代码> DD/MM/YYYY ,但在两者中,你都想要<代码> HH:mm:SS < /C>,这是正确的吗?DATETIME没有格式,它是二进制值。Fromats仅在转换为字符串或字符串被解析为DateTime时应用。那有什么问题?插入的字符串没有返回您期望的值吗?顺便说一句,HH是24小时。如果希望使用本地格式,只需不指定任何格式即可。本地是默认值。web应用程序的问题是本地意味着什么——服务器的本地,最终用户的本地?也许问题应该是
如何控制请求的区域设置?
我认为不能用一个格式字符串来实现这一点。您可以用两种方式完成:
$“{theDateTimeObject:d}{theDateTimeObject:HH:mm:ss}”
。但是,最好是完全尊重本地设置,而不是拼凑自己的混合格式,或者为整个应用程序设置本地化格式(可能是通过编程方式,根据设置进行检测),而不在自定义字符串或属性中重复。