【问题标题】:Day/Month/Year doesn't display without hours没有小时不显示日/月/年
【发布时间】:2014-01-25 03:26:19
【问题描述】:
string date = Convert.ToString(context.SP_GetDate().FirstOrDefault().UpdateTime);

UpdateTime 在我的数据库中是日/月/年,

当我使用上述查询时,更新时间总是如下所示

7.1.2014 00:00:00

我如何获取日/月/年

【问题讨论】:

  • .UpdateTime的类型(或格式)是什么?

标签: c# winforms linq date


【解决方案1】:

试试这个:

string date = context.SP_GetDate().FirstOrDefault().UpdateTime.ToString("dd.MM.yyyy");

【讨论】:

  • 我强烈怀疑 Convert.ToDateTime 部分不是必需的,目前您正在格式化 分钟 而不是月份...
  • 这个答案很简单但是最好!
【解决方案2】:

在执行转换时指定格式字符串。不要Convert.ToString,它不允许使用不同的格式字符串 - 在DateTime 上调用ToString。例如:

DateTime updated = context.SP_GetDate().FirstOrDefault().UpdateTime;
string updatedText = updated.ToString("d");

这里,d 是“短日期”standard date/time format specifier。还有其他可供选择。

或者,您可以指定custom date/time format,例如

DateTime updated = context.SP_GetDate().FirstOrDefault().UpdateTime;
string updatedText = updated.ToString("yyyy-MM-dd"); 

请注意,这些将使用“当前文化”进行本地化、选择语言、标准日期格式、月份名称等。如果需要,您可以指定不同的文化 - 通常是不变的文化,用于机器对机器的通信:

DateTime updated = context.SP_GetDate().FirstOrDefault().UpdateTime;
string updatedText = updated.ToString("yyyy-MM-dd", CultureInfo.InvariantCulture); 

【讨论】:

    【解决方案3】:

    Convert.ToString() 是泛型转换,简单但不灵活。

    DateTime.ToString() 为您提供了很多选择,包括custom formatting 和覆盖默认语言环境。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多