C# 如何将SQL日期转换为可读格式
我尝试了各种方法来解决我的问题,但似乎没有一种方法对我有效。我在#工作,有一个数据类型为date的变量,值为C# 如何将SQL日期转换为可读格式,c#,datetime,C#,Datetime,我尝试了各种方法来解决我的问题,但似乎没有一种方法对我有效。我在#工作,有一个数据类型为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”) 也尝试过:String.Format({0:mmmd,yyy
{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”)
也尝试过:String.Format({0:mmmd,yyyyy}),publishDate)
这就是我正在尝试的,我想这将是一个非常简单的转换,但我被打动了。有人能给我指出正确的方向吗?用“MMMM”来显示月份的全名
Console.Write(DateTime.Now.ToString("dd-MMMM-yyyy"));
// Result: 04-july-2013
使用“MMMM”显示月份的全名
Console.Write(DateTime.Now.ToString("dd-MMMM-yyyy"));
// Result: 04-july-2013
下面是一个在C中将日期时间格式化为字符串的参考# 您需要String.Format(“{0:dd-MMMM-yyyy}”,publishDate)的外观
如果你的约会日期是3月而不是7月,那么你的区域格式似乎不正确。。这可能是个问题。这里有一个在C中将日期时间格式化为字符串的参考# 您需要String.Format(“{0:dd-MMMM-yyyy}”,publishDate)的外观
如果你的约会日期是3月而不是7月,那么你的区域格式似乎不正确。。这可能是个问题。 因为您的日期是按月份值和日期值反转输出的,所以我会考虑使用:
DateTime.ToString("dd-MMMM-yyyy, CultureInfo.InvariantCulture);
不变的文化不会考虑你的系统文化设置。
< P>因为你的日期被输出的月份和日期值倒置,我会考虑使用:DateTime.ToString("dd-MMMM-yyyy, CultureInfo.InvariantCulture);
InvariantCulture不会考虑您的系统区域性设置。请尝试以下方法:
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 publishDate = DateTime.ParseEaxct("07/03/2013 17:27:02",
"MM/dd/yyyy HH:mm:ss", CultureInfo.InvariantCulture);
string publish = publishDate.ToString("dd-MMMM-yyyy");
希望这能解决您的问题。您可以告诉数据库为每个日期或时间戳生成正确的格式。这避免了客户端的任何转换错误 以下是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';
您可以告诉数据库为每个日期或时间戳生成正确的格式。这避免了客户端的任何转换错误 以下是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';
请尝试字符串格式(“{0:dd-MMMM-yyyy}”,publishDate)
DateTime publishDate=“07/03/2013 17:27:02”
将不会编译。您不能只将字符串
分配给日期时间
。这与您在标题中输入的SQL有什么关系?Matt,为了简单起见,我在DateTime变量中给出了什么。试试string.Format(“{0:dd MMMM yyyy}”,publishDate)DateTime publishDate=“07/03/2013 17:27:02”
不会编译。您不能只将字符串
分配给日期时间
。这与您在标题中输入的SQL有什么关系?Matt,为了简单起见,我在DateTime变量中给出了什么。问题是,出于某种原因,日期被保存为2013 dd mm格式,而不是数据库中的2013 mm dd格式。问题是,出于某种原因,数据库中的日期保存为2013年dd-mm格式,而不是2013年mm-dd格式。