我有朱利安日和#34; 36"我希望将其转换为" 036"类似地" 01" as" 001"。我尝试这样阅读日期并转换为朱利安日期
if (DateTime.TryParseExact(input, "dd'.'MM'.'yyyy",
CultureInfo.InvariantCulture,
DateTimeStyles.None,
out date)) {
// Success
} else {
// Parse failed
}
DateTime myDT = new DateTime(date.Year, date.Month, date.Day, new JulianCalendar());
JulianCalendar mycal = new JulianCalendar();
String dateInString = mycal.GetDayOfYear(myDT).ToString();
Console.WriteLine(date1.ToString("ddd"));
如果我使用" ddd"显示Mon,Tue,Thu等不是" 036"。具体目的我需要三位数的朱利安日才有可能吗?
答案 0 :(得分:1)
如果你想在你的约会时获得领先零,你可以使用这样的零点:
date1.Day.ToString("000")
如果您想使用string
使用string
这样的date1.ToString("dd").PadLeft(3, '0');
功能:
@Inject
private Injector injector;
答案 1 :(得分:1)
The "ddd"
custom format specifier代表当天的缩写名称。这就是为什么你得到Mon
,Tue
,Thu
等等。它没有给你任何数值。
但是,由于已经使用GetDayOfYear
,它将一年中的日期编号作为int
返回,您可以使用String.PadLeft
方法填充它;
JulianCalendar mycal = new JulianCalendar();
String dateInString = mycal.GetDayOfYear(myDT).ToString().PadLeft(3, '0');
对于单个数字日期数字,例如1
,这将生成001
,但会生成两位数的日期数字,例如36
,这将生成036
。