1

朋友们..

我的系统日期格式是 MM/dd/yyyy。

我想获取格式 dd/MM/yyyy。我使用以下代码

DateTime dt = DateTime.Parse(stdate.Value.ToString("dd/MM/yyyy")); 

并以日期时间格式(dd/MM/yyyy)传递 dt 进行查询

此代码为单个数字日期(如 2023 年 1 月 6 日)提供正确的输出 //stdate 是 DateTimePicker

但在两位数名称中给出错误(如 28/8/2013)

这里有什么问题...朋友帮助我..

注意-我已将 datetimepicker 格式设置为自定义,而 fustomFormat 是 dd-MM-yyyy ..来自 DateTimepicker 属性。所以我的 datetimepicker 控件显示值 01/08/2013 ..但 datetimepicker 属性中的实际值是 8/1/2013 (28/08/2013 ......在属性 8/28/2013 中)

4

2 回答 2

0

发生错误是因为尽管您将 格式化stdate.Value为所需的字符串格式,DateTime.Parse但仍使用系统格式MM/dd/yyyy

虽然DateTime.TryParse可能对您想做的事情有所帮助,但结果将是dt == stdate.Value,这只会使您回到原点。

您可能想要做的是stdate.Value仅在您想要将其放入查询时进行格式化,我认为这需要字符串输入

于 2013-08-29T09:47:56.223 回答
0

只是在做

     DateTime dt = dateTimePicker1.Value;

     string str = dt.ToString("dd/MM/yyyy");

将以您需要的格式为您提供所需的日期

如果您以字符串格式获取日期并希望将其转换为 DateTime,您可以使用:

    DateTime dt;
    CultureInfo enUS = new CultureInfo("en-US");
     string dateString = "05/01/2009";

     if (DateTime.TryParseExact(dateString, "dd/MM/yyyy", enUS,
                                DateTimeStyles.None, out dt))
     {
        dateTimePicker1.Value = dt;
     }
于 2013-08-29T09:38:11.313 回答