【发布时间】:2011-03-10 14:36:20
【问题描述】:
为了在搜索方法中使用,我想解析不同格式的部分日期。 我想让用户能够搜索日和月或月和年或日和月和年。
但更成问题的是,我想根据用户所在的国家/地区以所有可能的日期格式执行此操作。这是一个 ASP.NET 页面,我可以使用 CultureInfo,因此也可以使用 CultureInfo.DateTimeFormat。
你有什么想法,如何做这样的事情吗?我认为英国人可以搜索 16/05,而美国人可以输入 05/16,或者德国人可以使用 16.05 来查找 5 月 16 日的结果,这将是很棒的。
我认为可以使用 DateTimeFormat.ShortDatePattern。但是我怎么能用它来得到他们的日、月和年呢?
我想到了类似的用法
public void GetDateParts(string SearchStr, out int? day, out int? month, out int? year)
感谢任何可以帮助我的人。
【问题讨论】:
-
我认为让您的用户从某个日期选择器控件中选择一个日期会更好。
-
你的问题更大。如果输入是 2/2,那是 '2 feb' 还是 'feb 2002' ?短日期格式将无法提供帮助。
-
不清楚您是否知道用户的首选日期格式,或者您想从输入字符串中推断出它。如果您确实知道用户的国籍(或偏好),那么您就知道这些数字的含义,您只需要解析它们。从输入字符串推断格式有点复杂...
-
@Henk:由于没有日期时间格式将年份作为单个数字,因此您的示例显然是“2 feb”。但问题仍然存在,因为有些格式有 2 位数年份,其中 '10/11' 可能是 '10 nov' 或 'sep 2011'
-
@Ronald Wildenberg,DateTimePicker 不会让您选择部分日期。