如何知道哪个*格式*是在ASP.NET中返回的日期

时间:2012-06-26 15:52:25

标签: asp.net date

以下代码,d具有当前日期。根据当前的区域设置,它将返回日期。

Dim d As Date = Date.Today

注意:我不想检查日期是否有效,而是知道它是否是'dd-MM-yyyy','MM-dd-yyyy'或任何其他日期格式..

编辑(2012年6月29日 - 星期五):

我问这个问题的原因是因为我厌倦了尝试来处理ASP.NET中的日期。我在我的本地PC上构建了一个项目,日期为“dd / MM / yyyy”,一旦我将其上传到生产服务器(通常在美国,因此MM / dd / yyyy),代码就会中断。

所以我通常通过将日期转换为yyyyMMdd格式来处理日期,并将它们保存在数据库中。这是我接近无异常编码的最接近的。

在这种情况下,有意义的是无法从返回的日期字符串中获取格式。因此,我将继续我的方法。

4 个答案:

答案 0 :(得分:2)

Date.TodayDateTime,不是字符串。因此,它没有固有的格式。

答案 1 :(得分:0)

它将返回Date,我相信DateTime的VB别名。 (如果不是这样,只需明确地使用DateTime来代替.NET,而不是使用传统的VB类型。)

DateTime值本身没有格式,只有int为十进制或十六进制。只有当您将值转换为应用格式的字符串时,它才会依赖于如何将其转换为字符串。在真正需要之前,不应该使用字符串转换,然后您应该控制格式,使其按照您希望的方式工作。

尽可能早地将文本数据转换为其“自然”类型,并尽可能长时间保持该类型。例如,避免在SQL查询中传递值时转换为字符串 - 而是使用参数化SQL,您可以将参数值指定为 a DateTime

答案 2 :(得分:0)

你想知道的是:

CultureInfo.CurrentCulture.DateTimeFormat.ShortDatePattern

这是您致电

时使用的格式字符串

d.ToShortDateString()

答案 3 :(得分:-1)

你需要被告知;别无他法。举个例子:

6/12/2012  

它有效dd/mm/yyyymm/dd/yyyy格式

如果您事先不知道区域设置/格式,您会选择哪一个?

日期值不具有内在格式。换句话说,您可以将日期格式化为您需要的任何字符串表示形式,但是从字符串返回到Date值的相反转换要求您知道接收此日期字符串的格式。