【发布时间】:2016-10-17 15:04:16
【问题描述】:
我有一个 MySQL DateTime 列,我需要使用 C# 进行查询。问题是,当我尝试使用“dd-MM-yyyy”的 DateTime 格式查询列时,它不会带回任何数据,但是当我使用“yyyy-MM-dd”格式时它会返回。我想知道如何将我的 DateTime 转换为那种格式?
例如:
string yyyyMMdd = DateTime.Now.StartOfWeek(DayOfWeek.Monday).ToString("yyyy-MM-dd");
//Insert code to parse into yyyy-MM-dd DateTime format-
这得到了我想要的string 格式,但该列是DateTime,每次我尝试解析它时,它都会返回到“dd-MM-yyyy”格式。
伙计,堆栈溢出是如此善变。这个问题是不同的,因为我不是在问如何将 DateTime 格式化为不同的文化格式。我在问如何将 DateTime 从 'yy-MM-yyyy' 格式化为 'yyyy-MM-dd' 格式。
为什么投反对票?诚实地。
【问题讨论】:
-
您不“解析日期时间”,而是对其进行格式化。解析是你对字符串所做的事情。 DateTime 值没有格式,将其转换为字符串的行为会选择一种格式。如果您希望以特定方式显示 DateTime 值,您需要控制格式。请澄清问题的真正含义。
-
您根本不需要这样做,您应该使用参数化查询并将
DateTime作为参数传递... -
你的解决方案是错误的,不要浪费你的时间去做这件事。您的问题应该是如何将日期时间值解析为 SQL。
-
@AndrewKilburn -
DateTime没有“不同的文化”。DateTime只是一个值类型。只有当您从字符串转换或转换为字符串时才会涉及文化。DateTime的值只是保存在private UInt64 dateData;字段中。 -
@AndrewKilburn - 你得到了反对票,因为人们试图帮助你,但你的回应是“堆栈溢出是如此善变”和“呃”和“为什么反对票?老实说。”