c# - 日期时间格式小时加一

标签 c# datetime datagridview formatting

我正在使用 DataGridView,我有一个像这样应用的日期时间列的格式......

dataGridView1.Columns["Date"].DefaultCellStyle.Format = "MM\\/dd @ hh:mm tt";

我想更改格式,使其生成类似于 07/31 11->12 的内容。 11 是当前小时,12 是下一个小时。我试过 hh+1{hh+1}。有没有办法像这样格式化它?或者我可以通过某种方式覆盖 "Date" 列的呈现,但仍将其类型保持为 DateTime

最佳答案

如果可以在绑定(bind)之前编辑该字段,您可以通过这种方式实现您想要的结果。

  var date = DateTime.Now;

  var customDate = string.Format("{0}->{1}", date.ToString("MM\\/dd hh"), date.AddHours(1).ToString("hh"));
  Console.WriteLine(customDate);

输出 07/31 03->04

public class SpecialDateConverter : IValueConverter
{
    public object Convert(
        object value,
        Type targetType,
        object parameter,
        CultureInfo culture)
    {
       var date = (DateTime)value;
       return string.Format("{0}->{1}", date.ToString("MM\\/dd hh"), date.AddHours(1).ToString("hh"));
    }

    public object ConvertBack(
        object value, 
        Type targetType, 
        object parameter, CultureInfo culture)
    {
        throw new NotSupportedException();
    }
}

关于c# - 日期时间格式小时加一,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31749410/

相关文章:

c# - 滚动到 C# DataGridView 的底部

c# - 如何使用 ScaleTransform 缩放到任意中心点?

c# - LLBLGen : How can I softdelete a entry

c# - .net安装项目: How to pass multiple CustomActionData fields

datetime - 如何在 Power BI 的日期层次结构中包含 'Time'

c# - 更改数据 GridView 中图像按钮列中的图像

c# - 如何向列添加值并更新数据库

c# - 使用动态 Linq 过滤集合

python - 如何将 pandas 数据框日期时间列转换为 int?

javascript - getTimezoneOffset() 在夏令时转换期间稳定吗?