2016-01-20 89 views
1

我把朱連安當作「36」,我想將它轉換爲「036」,類似「01」轉換爲「001」。我想這樣的讀時間和日期轉換爲Julian日期如何將日期從dd更改爲ddd爲朱利安日?

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」顯示週一,週二,週四等不是「036」。具體的目的我需要三位數的朱連日,這有可能嗎?

回答

1

The "ddd" custom format specifier代表當天的縮寫名稱。這就是爲什麼你得到MonTue,Thu等。它不給你任何數值。

但既然你已經使用其中GetDayOfYear在一年內返回天數爲int,你可以墊它String.PadLeft方法等;

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

對於一個單一的數字天數,像1,這將產生001但兩位數的天數一樣36,這將產生036

1

如果你想獲得前導零DOR你的約會,你可以使用leding零這樣的:

date1.Day.ToString("000") 

如果你想用你的string使用stringPadLeft功能是這樣的:

date1.ToString("dd").PadLeft(3, '0'); 
+0

偉大的工作......我試過** String.PadLeft **方法,它工作。謝謝@SonerGönül&teo van kot。幫了我很多。 – user28542

相關問題