5

我的代码:

dateObject.Value.ToString(Model.Culture)

dateObject是类型DateTime?Model.Culture而是类型CultureInfo

(文化相关)输出:

17/08/1960 00:00:00

我想删除该00:00:00部分而不必指定任何格式提供程序。 Model.Culture应该在其他地方已经包含日期的格式(但是在哪里以及如何?)我想指定输出任何时间。

我正在考虑将 DateTime 转换为 Date 对象,但不幸的是,C# 中没有这样的对象。直接对日期格式进行硬编码将导致无法创建动态且依赖于文化的程序。

4

4 回答 4

5

“无需指定任何格式提供程序” ... “直接对日期格式进行硬编码将导致无法创建动态且依赖于文化的程序。”

您可以使用允许提供格式字符串文化的重载:

string result = dateObject.Value.ToString("d", Model.Culture);

或者如果需要/可能,您可以更改文化:

System.Threading.Thread.CurrentThread.CurrentCulture = Model.Culture;
string result = dateObject.Value.ToShortDateString();
于 2013-08-21T09:24:55.473 回答
1

也许你正在寻找这个:

dateObject.Value.ToString("d", Model.Culture)
于 2013-08-21T09:24:21.717 回答
0

使用字符串格式尝试以下操作

dateObject.ToString("dd/MM/yyyy");

日期格式

于 2013-08-21T09:21:27.447 回答
0

使用ToShortDateString它使用当前线程文化。

DateTime dateObject = DateTime.Now;
string s = dateObject.ToShortDateString();
于 2013-08-21T09:23:25.757 回答