如何增加/减少日期字符之间的空间。
D - > - > D / M - > M / Y - > ÿ - > Y - Y - >
应该是这样的:
0 8 0 8 2 0 1 6
答案 0 :(得分:2)
这样的东西够好吗?
@day_most_work = WorkSchedule.includes(:person).group('work_schedules.id, work_schedules.day_of_week').order('COUNT(work_schedules.day_of_week) DESC').first.day_of_week
输出:
var padded = string.Join(" ", DateTime.Now.ToString("dd MM yyyy").ToCharArray())
这是另一种选择:
0 8 0 8 2 0 1 6
...
public class CharWithPadding
{
public char Char;
public int Padding;
}
答案 1 :(得分:1)
如果我理解正确,看起来你正在寻找输出格式化程序
在这种情况下可以使用String.format:
var someDate = new System.DateTime(2016, 8, 8);
string.Format("{0,10}:{1,20}:{2,30}", someDate.Month, someDate.Day, someDate.Year)
输出:
" 8: 8: 2016"
您可以输入任何值{0,XX},具体取决于给定参数所需的填充量。
此外,请查看date and time formatters。
答案 2 :(得分:0)
您提出的问题要么被称为kerning,要么被称为letter spacing。但是,如果您知道要打印到的表单上的确切位置,那么从DateTime
对象的各个部分创建和定位单独的元素可能要好得多,而不是尝试调整间距:
DateTime FormDate = DateTime.Now;
Box1.Text = FormDate.DayToString();
Box2.Text = FormDate.Month.ToString();
等
许多字体的每个字符都有不同的宽度,包括' &#39 ;;有时甚至字母组合之间的空格也不同如果字体(或表单)发生变化,或者如果重复使用此代码,如果您的解决方案不依赖于字体,那么生活会更容易。