2016-09-30 5 views
0

次の情報のみに基づいて日時を作成するにはどうすればいいですか: 曜日、時間& Minuet。c#datetime作成曜日と時間の曜日

I.e.私はそれが何月であっても、日付が何であるか気にしません(私はデータベースにその情報を持っていません)。

私は文字列として解析できると思っていましたが、私が思ったよりも難しくなっています。

+0

質問は、「私はそれが日付が何であるかさえあるか、何月気にしない」ほとんど意味がありません - そのような場合、週のその日に、ランダムな日付を作ります! –

+0

それは最高のオプションでしょうか?月曜日にランダムな日付を選んでそこから作業しますか? – JamesWat

+0

それはあなたの配慮が唯一の日である場合は、ランダムな日付を選択することができますが、 'DateTime'変数後で – Fabio

答えて

4

それはあなたに役立つかもしれない。..

public DateTime CreateDayOfWeek(int DayOfWeek,int hour,int min) 
     { 
      DateTime dt = new DateTime(DateTime.Now.Year,DateTime.Now.Month,DateTime.Now.Day,hour,min,0); 


      // The (... + 7) % 7 ensures we end up with a value in the range [0, 6] 
      int daysUntilTuesday = (DayOfWeek - (int)dt.DayOfWeek + 7) % 7; 
      // DateTime nextTuesday = today.AddDays(daysUntilTuesday); 


      dt = dt.AddDays(daysUntilTuesday); 

      return dt; 
     } 

私はいくつかの日付をテストし、私のために働いて.. 問題がある場合は教えてください。 。

は、ここでは、このようなあなたの日付を作成することができ.netFiddle

-1

あなたの日付を構築するための関数を作成することができます

public DateTime BuildDate(Int32 day, Int32 hour, Int32 minute) 
     { 
      var now = DateTime.Now; 

      var initialDate = now.AddDays(((Int32)now.DayOfWeek + 1) * -1); 

      return new DateTime(initialDate.Year, initialDate.Month, initialDate.AddDays(day).Day, hour, minute, 0); 
     } 

曜日が、この場合、日曜日からスタートです。

-2

あなたが使用することができます。DateTime.ToStringメソッド(String)

DateTime.Now.ToString("ddd HH:mm") // for military time (24 hour clock) 

より:https://msdn.microsoft.com/en-us/library/8kb3ddd4.aspxはあなたのための機能で作成

+0

答えを与える前に慎重に質問をお読みください。 –

0

...

var hour = 1; // you set this from code 
var minute = 1; // set this from code 
var now = DateTime.Now; 
var tempDateTime = new DateTime(now.Year, now.Month, now.Day, hour, minute, 0); 
// Make this enum whatever you want your date to be... 
var num = (int)DayOfWeek.Sunday; 
var dateForComparison = tempDateTime.AddDays(num - (int)tempDateTime.DayOfWeek); 

今dateForComparisonがあなたの時間値が設定されている日付と、指定した曜日を保持しています。

0

あなたはそれが私はあなたがいる限り、それは一週間と時間(時間と分)の権利の日であるとして任意の日付にしたいと仮定しますこれは、何であるか月または日付を気にしないと述べました。あなたは次のようにすることができます:

var date = new System.DateTime(2016, 9, 25); 

date = date.AddDays(dow).AddHours(hours).AddMinutes(minutes); 

9月25日は日曜日でした。曜日(日曜日= 0)を追加すると、正しい日が得られます。次に、時間と分を追加します。もちろん、あなたが好きなら、あなたは月/年のいずれかの日曜日から始めることができます。

関連する問題