【问题标题】:Establishing a date format建立日期格式
【发布时间】:2016-02-19 06:41:58
【问题描述】:

我创建了一个应用程序,用户可以在其中从日历中选择一个日期并根据该日期创建一个约会。

然后我继续在 datagridview 中显示有关约会的信息,但我在显示日期时遇到问题。

日期显示如下:20151117(年、月、日,总共),我希望它是这样的:17/11/2015

所以我创建了一个新字符串,在其中划分这些字符并在它们之间放置“/”,问题是我当天遇到问题,完成字符串后,一旦我显示它看起来像:100 /11/2015,不管我做什么或如何尝试,day chars 总是看起来像 100,稍作改动有时会使其在 100 或 97 之间变化。

有什么想法吗?

编辑:这就是我们处理日期的方式:

            DataRow drEmpleado = dtEmpleados.Rows[empleado.SelectedIndex];
        string dia = calendario.SelectionStart.Day.ToString();
        if (dia.Length == 1)
            dia = "0" + dia;
        string mes = calendario.SelectionStart.Month.ToString();
        if (mes.Length == 1)
            mes = "0" + mes;
        string año = calendario.SelectionStart.Year.ToString();
        string fecha = año + mes + dia;

【问题讨论】:

  • 你没有使用DateTime对象吗?
  • dataGridViewCellStyle.Format = "dd/MM/yyyy"; this.date.DefaultCellStyle = dataGridViewCellStyle; 不知道为什么你不能做这么简单的事情。如果你正确使用它,Google 也会产生奇迹。
  • 在那里,我添加了一段代码来显示我们如何处理日期,我相信由于我们没有使用 DateTime,我们不能使用 cellsytle.format,我也搜索了很多,我现在知道所有存在的属性,所以我应该如何搜索我不知道的东西,这就是我问的原因!!
  • @Lobialkon 你为什么不使用DateTime
  • @DStanley 对不起,但这不是我所做的,但我被告知要伸出援手,我相信将其更改为 DateTime 为时已晚,因为它将日期保存为整数在数据库上?其实很奇怪

标签: c# string date


【解决方案1】:

DateTime 没有格式。当您(或显示控件)将值转换为字符串时,您可以选择一种格式。因此,您需要查看您正在使用的日历控件是否具有某种可以设置的显示格式属性,以便它以您希望的方式显示日期。

【讨论】:

    【解决方案2】:

    DataGridViewCellStyle.Format Property

    YourDataGridView.Columns["Date"].DefaultCellStyle.Format = @"dd/MM/yyyy";
    

    你的代码有点矫枉过正做这样的事情来获取17/11/2015格式的值

    var someDate2 = "20151117";
    DateTime dt = DateTime.ParseExact(someDate2, "yyyyMMdd", CultureInfo.InvariantCulture);
    Console.WriteLine(dt.ToString("dd/MM/yyyy"));
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-14
      • 1970-01-01
      • 2010-11-03
      • 2017-12-17
      • 1970-01-01
      相关资源
      最近更新 更多