如何将SQL日期转换为可读格式

本文关键字:格式 转换 日期 SQL | 更新日期: 2023-09-27 18:21:07

我已经尝试了各种选项来解决我的问题,但似乎没有一个对我有效。我在#中工作,有一个数据类型为date的变量,值为{07/03/2013 17:27:02},现在我希望这个日期显示为03-July-2013,但它看起来是07-March-2013

代码位

DateTime publishDate = "07/03/2013 17:27:02"

string publish = publishDate.ToString("dd-MMM-yyyy")

Tried this too: String.Format("{0:MMM d, yyyy}", publishDate )

这就是我正在尝试的,我原以为这会是一个非常简单的转换,但我被震撼了。有人能给我指一下正确的方向吗?

如何将SQL日期转换为可读格式

以下是在C#中将日期时间格式化为字符串的参考

http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx

从外观上看,您需要String.Format("{0:dd MMMM yyyy}",publishDate)。

如果你的日期是三月而不是七月,那么你的地区格式似乎不正确。。这可能是个问题。

使用"MMMM"显示月份的全名。

Console.Write(DateTime.Now.ToString("dd-MMMM-yyyy"));
// Result: 04-july-2013

试试这个:

DateTime publishDate = DateTime.ParseEaxct("07/03/2013 17:27:02", 
                           "MM/dd/yyyy HH:mm:ss", CultureInfo.InvariantCulture);
string publish = publishDate.ToString("dd-MMMM-yyyy");

希望这能解决你的问题。

由于您的日期是以颠倒的月份和日期值输出的,我会考虑使用:

DateTime.ToString("dd-MMMM-yyyy, CultureInfo.InvariantCulture);

InvariantCulture不会考虑您的系统区域性设置。

您可以告诉数据库为每个日期或时间戳生成正确的格式。这样可以避免客户端出现任何转换错误。

以下是Oracle的一些示例:

ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY-MM-DD';
ALTER SESSION SET NLS_TIME_FORMAT = 'HH24:MI:SS';
ALTER SESSION SET NLS_TIME_TZ_FORMAT = 'HH24:MI:SS TZH:TZM';
ALTER SESSION SET NLS_TIMESTAMP_FORMAT = 'YYYY-MM-DD HH24:MI:SS';
ALTER SESSION SET NLS_TIMESTAMP_TZ_FORMAT = 'YYYY-MM-DD HH24:MI:SS TZH:TZM';