2017-10-11 9 views
-5

私は次のことを得るために私を必要とするアプリケーションがあります。C#で年、年、月、日の日をどのように見つけることができますか?

int doy // Day of the year 
    int yr // Two digit year 
    int mon // Two digit month (zero on left for small numbers) 
    int day // Two digit day (zero on left for small numbers) 

誰もが、私はC#を使用してこれらの数値を得ることができる方法を教えてもらえますか?文化に基づいて毎年この

Console.WriteLine(DateTime.Now.DayOfYear); // day of year 
Console.WriteLine(DateTime.Now.Month); // month of year 
Console.WriteLine(DateTime.Now.Year); // year 

計算週のような

+4

 int doy = DateTime.Now.DayOfYear;// Day of the year string yr = DateTime.Now.ToString("yy");// Two digit year string mon = DateTime.Now.Month.ToString("d2"); // Two digit month (zero on left for small numbers) string day = DateTime.Now.Day.ToString("d2"); // Two digit day (zero on left for small numbers) Console.WriteLine(doy); Console.WriteLine(yr); Console.WriteLine(mon); Console.WriteLine(day); 
公式MSドキュメント:[https://msdn.microsoft.com/en-us/library/system.datetime(v=vs.110).aspx#Anchor_2](https://msdn.microsoft .com/en-us/library/system.datetime(v = vs.110).aspx#Anchor_2) –

+1

@ Alan2 *「小数点以下はゼロ」*とはどういう意味ですか? 'int'は数字ですが、先行ゼロはありません。 –

+1

@ Alan2クラスのドキュメントをチェックしましたか?それはすべてそこにある。フォーマットについての説明は –

答えて

-2

左に0を埋め込んだ数字を取得するには、文字列形式を使用する必要があります。

3

月曜日の週の開始であれば、他の文化は、週番号を取得する

簡単な方法があるアラビア語

のように月曜日に
int day = DateTime.Now.DayOfYear; 
var week = CultureInfo.CurrentCulture.Calendar.GetWeekOfYear(DateTime.Now, CalendarWeekRule.FirstFourDayWeek, DayOfWeek.Monday); 
を開始していないため、

Console.WriteLine(System.Globalization.DateTimeFormatInfo.CurrentInfo.Calendar.GetWeekOfYear(DateTime.Now, CalendarWeekRule.FirstDay, DayOfWeek.Monday)); 
+0

私はあなたの「週の年」を計算するあなたの方法に非常に同意しません。これは通常、Calenderを介して行われ、カルチャー(具体的にはCalendarWeekRule)に応じて異なる方法で決定されます。[this](https://msdn.microsoft.com/en-us/library/system.globalization.calendar.getweekofyear(v) = vs.110).aspx)。 –

+0

ありがとうサイフ、私はあなたの答えが好きですが、マンフレッドに同意します。たぶん週の計算は、私が別のやり方でする必要があるかもしれません。 – Alan2

+0

@ Alan2私のコメントに正しい方法がリンクされています。あなたが何をしているのかを知っていると、本当に簡単です。 –

4
System.DateTime moment = new System.DateTime.Now; 

int year = moment.Year; 
int month = moment.Month; 
int day = moment.Day; 
int hour = moment.Hour; 
int minute = moment.Minute; 
int second = moment.Second; 
int millisecond = moment.Millisecond; 

ここをクリックしてください:MSDN Documentation - DateTime

+0

ありがとうございました – Alan2

+2

@ Anne3はドキュメントを読んでいます。それはすべてそこにある。数字にはパディングはありません。ストリングはそうです。 'ToString()'と日時書式を確認してください。 –

+0

@ Anne3 Alan2の質問をハイジャックしていますか、2つのアカウントがありますか? –

関連する問題