我正在使用DataGridView,我有一个像这样应用日期时间列的格式......
dataGridView1.Columns["Date"].DefaultCellStyle.Format = "MM\\/dd @ hh:mm tt";
我想更改格式,以便生成07/31 11->12
之类的内容。 11是当前时间,12是下一个小时。我尝试过hh+1
和{hh+1}
。有没有办法像这样格式化?或者某种方式,我可以覆盖"Date"
列的呈现,但仍然将其类型保持为DateTime
?
答案 0 :(得分:2)
如果可以在被限制之前编辑该字段,则可以通过这种方式实现您想要的内容。
var date = DateTime.Now;
var customDate = string.Format("{0}->{1}", date.ToString("MM\\/dd hh"), date.AddHours(1).ToString("hh"));
Console.WriteLine(customDate);
Ouputs 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();
}
}