julian-day如何将日期从dd更改为ddd?

时间:2016-01-20 11:51:27

标签: c# datetime

我有朱利安日和#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"。具体目的我需要三位数的朱利安日才有可能吗?

2 个答案:

答案 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代表当天的缩写名称。这就是为什么你得到MonTueThu等等。它没有给你任何数值。

但是,由于已经使用GetDayOfYear,它将一年中的日期编号作为int返回,您可以使用String.PadLeft方法填充它;

JulianCalendar mycal = new JulianCalendar();
String dateInString = mycal.GetDayOfYear(myDT).ToString().PadLeft(3, '0');

对于单个数字日期数字,例如1,这将生成001,但会生成两位数的日期数字,例如36,这将生成036