• 締切済み

C# 毎月1日の曜日について

初めて投稿させて頂きます。 今、C#の勉強を独学で始めました。 C#を使って、数独や、ピクロスなどを作ったりしました。 今度は、カレンダーを作ろうと思っているのですが、 本日の曜日の取得は分かるのですが、月の初めの曜日を 求めるには、どうしたら良いのでしょうか? DateTime dtNow = DateTime.Now; // 曜日を取得する DayOfWeek uWeekday = dtNow.DayOfWeek; 上記の文章で本日の曜日は取得可能ですが、 月初の曜日を求めるのは、どうしたら良いのでしょうか? どなたか教えていただけないでしょうか??

みんなの回答

  • nep0707
  • ベストアンサー率39% (902/2308)
回答No.1

ベタなやり方ですが、 DateTime today = DateTime.Today; DateTime day = today.AddDays(-today.Day + 1); DayOfWeek dayOfWeek = day.DayOfWeek; でいけるのではないでしょうか?

mamosuna
質問者

お礼

できました!!!!! どうもありがとうございました! プログラム言語って奥が深いですよね! でも、出来ると凄く嬉しい気持ちになれますよね^^ ありがとうございました!

関連するQ&A

  • VC++  System::Stringに変換するには?

    現在VisualC++ ExpressEditionを使って、C++の勉強をしながら万年カレンダーを作ろうとしていています。 ひとまずカレンダーの表示に使う月・日・曜日をDateTime::Nowから取り出したいのですが、 DateTime d1 = DateTime::Now.AddMonths; label1->Text = d1.ToShortTimeString; と試しにlabelに現在の月を表示させようとしたところ、 「1 番目の引数を 'System::String ^(__clrcall System::DateTime::* )(void)' から 'System::String ^' に変換できません。」 というエラーメッセージとともに弾かれてしまいます。 どこをどう変えればよいのか教えてください。 勉強を始めるのに買ってきた参考書では、DateTime::Now.ToLongTimeString;で日付から時刻まで繋げて表示する方法しか載っていませんでした(索引にもDateTime::Nowのみ) PCで検索しようとしても別の言語や参考書のHPが大量に引っかかって困っています。

  • ASP.NET 2.0(C#) Datetime型

    サーバー日付を取得して、日付の部分のみを書き換えたいのですが、方法が分かりません。 どなたか教えていただけないでしょうか・・ ASP.NET 2.0(C#)です。 実現したい内容は Datetime dt = DateTime.now;(例えば 20080101...) string day = "28"; // dtの日付部分にdayの"28"を入れたいわけです。 Datetime dt2 = (20080128...にしたいです) 色々調べてみたのですが、まだまだ経験が浅いせいか、良い方法を見つけることが出来ません。 よろしくお願いします(>_<)

  • C++/CLIでの時間表示

    VC++2008のC++/CLIで時間の間隔を表示するプログラムを作成しています。 DateTime mySpan = DateTime::Parse(txtStartTime->Text); DateTime dtToday = DateTime::Now::get(); TimeSpan interval = dtToday - mySpan ; String^ strInterval = interval.ToString(); 上記のように,現在と時刻とtxtStartTime->textに表示されている時刻との差を取得しています。 この時, 秒単位の表示が出来ればいいのですが,strInterval の時刻が 00:01:05.12457895... のように不要な小数点まで表示されます。 どのようにすれば, 00:00:00 のような形式で表示できますでしょうか?

  • 表示ボタン押下すると、テキストボックスに現在日時を表示する方法(C#.NET)

    C#.NETの初心者です。 Visual Web Developerを使用して勉強しています。 ボタンを押下後、テキストボックス(txtDatetime)に現在日時を取得するために、以下のような記述等をしていますが、うまいきません。 ご教授頂けますよう、よろしくお願い致します。 --------------------------------------------------------------- protected void Button1_Click(object sender, EventArgs e) { txtDatetime.Text = DateTime.Now; } ---------------------------------------------------------------

  • 【C#】作成したファイルに書き込みしたい

    開発環境はMicrosoft VisualC#2008です。 C#初心者です。よろしくお願いします。 現在、Form1とUserControl1を組み合わせてパズルゲームを作成中です。 Form1でボタンをクリックすると、クリックした日時を取得して、その日時をファイル名とするテキストファイルを作成することは出来ました。(例:20100115154717.txt) 今度は、そのファイルをUserControl1で開いて、書き込みをしていきたいのですが、エラーが出てしまい、この作成したファイルに書き込むことが出来ない状況です。 ※ちなみに、別のファイル(log_sample.txt)を指定したら書き込みは出来ました。 アドバイスよろしくお願いします。 <Form1.cs>一部抜粋 public string File_name { get { return this.file_name; } set { this.file_name = value; } } private void select_button_Click(object sender, EventArgs e) { //開いた時刻をファイル名に指定 DateTime dt = DateTime.Now; file_name = dt.ToString("yyyyMMddHHmmss"); //ログファイル作成・データ追加 StreamWriter sw = new StreamWriter(new FileStream"C:\\Documents and Settings\\My Documents\\log\\" + file_name + ".txt", FileMode.CreateNew)); } <UserControl1.cs>一部抜粋 //候補選択 private void label1_Click(object sender, EventArgs e) { Form1 f1 = this.Controls["Form1"] as Form1; DateTime dt = DateTime.Now; //ログ書き込み(日付、場所(ユーザーコントロール、ラベル名)、クリック(1)orダブルクリック(2)) StreamWriter sw = new StreamWriter(new FileStream("C:\\Documents and Settings\\My Documents\\log\\"+ f1.File_name +".txt", FileMode.Append)); sw.Write(dt.ToString()+","); sw.Write(this.Name +","); sw.Write("label1,"); sw.WriteLine("1"); sw.Close(); }

  • C#をAPIで取得したいです

    こんにちは。 APIの取得プログラムを書くのは初めてです bootstrapを使っているAPIで スレッド型のサイトです スクロールさせると、新しい投稿が追加されるサイトで、 bootstrap-scrollspy.jsやbootstrap-dropdown.jsを使っているようです 1スレッドずつ取得したいのですが、初めの1ページだけしか取得できていません 環境は Windows 7 Pro i7 mem 24GB VS 2012 Express C# 現在はNewtonsoft.Jsonを使って試しています 回答よろしくお願いします

  • 週間カレンダー vbscript

    質問です 現在ASPとvbscriptを使って、スケジュール管理システムを作成しています。 その中で、週間・月間・年間の3つのカレンダーの作成をしようと考えています。 現在の状況としては月間カレンダーは完成して、週間カレンダーを作成しているところです。 日曜始まりの月間カレンダーから、日付データを取得して週間カレンダーを作成します。 当日を含む週を表示したいです。 検索してみるとjavascriptのソースは見つかりましたが、 vbscriptでの作成を前提としています。 javascriptのソースの自力での解読も試みましたがお手上げです。 「第○週の○曜日」という意識はせず、 表示月の月始め日(1日)が何曜日か調べて、 1日が日曜でなければそこからさかのぼって 日曜日になる日付を求めるといいらしいのですが…。 丸投げする形になって申し訳ありませんが、 どなたか力を貸していただけませんか。

  • C言語でのカレンダープログラミングについて。

    今、C言語でカレンダーについてのプログラミングを行っています。 まず月を入力し表示させる。 その年がうるう年かどうか判定させる。 日曜~土曜を表示し、指定した月の日数を曜日に合わせて表示させる。 2008年1月1日は火曜日。 という事実を利用してよい。 という条件で、うるう年かの判定はあるものの年は2008年で固定です。 曜日、指定した月の日数を出すところまでいきましたが。 曜日に合わせて出す事ができません。 今は1月に合わせて、1日が火曜日のところに出るように配置してます。 が、次の週になったときにどのように改行指定すればいぃのかわりません。 また、来月以降の月初めの曜日指定もわからないです。 途中までのプログラムはこれです。 醜いかもしれませんが。 #include <stdio.h> int main(void) { int year=2008; int month,hantei=0,a,b,c; int uru[12]={31,29,31.30,31,30,31,31,30,31,30,31};/*うるう年の時の各月ごとの日数*/ int normal[12]={31,28,31,30,31,30,31,31,30,31,30,31};/*通常の年の各月ごとの日数*/ printf("表示させる月を入力してください。:"); scanf("%d",&month); if(year%4==0||year%100==0||year%400==0) { hantei=1;/*その年がうるう年かどうかを判定し、うるう年なら「hantei」に「1」が代入*/ } if(hantei==1)/*うるう年の場合。*/ { printf("%d年 %d月\n",year,month); printf("%d日\n",uru[month-1]); } else/*通常の年の場合。*/ { printf("%d年 %d月\n",year,normal[month-1]); printf("%d\n",normal[month-1]); } printf("日 月 火 水 木 金 土\n");/*曜日*/ if(hantei==1)/*うるう年の場合*/ { for(b=0;b<=7;b++) { printf(" ");/*火曜日のところまでスペースを空ける*/ } for(c=1;c<=uru[month-1];c++)/*日数表示*/ { printf("%2d ",c); } } return(0); } まだあまりC言語に詳しくないので、簡単に説明できる範囲で御願いします。 説明がわかりにくいかもしれませんが、すいません。

  • エクセルで特定のセルをマクロで色づけする

    お世話になります。 出勤チェックを集計するためのファイルを作っています。 説明がわかりにくいかもしれず申し訳ありません。 添付画像のカレンダーシートから年月を選択。 集計シートの日付は、カレンダーシートから取得した年月日を リンク貼り付けし、表示形式を日付と曜日にしています。 例えば、2011年9月と選択した場合、 日付の1日のところは、(画像でセル番号が抜けましたが、B4です) =DATE(カレンダーシート!C4,カレンダーシート!C5,1) 曜日のところは、=B4 となっています。 この状態で、土日の休日は、集計シートの朝、帰りのセルを空欄にしたいのです。 (出勤日計算を、”朝”の数でcount関数で出しているため) 単純に、IF文で曜日が土日なら空欄にする方法は、 中に入っている数式が日付なので、できません。 何か良い方法をアドバイスいただければありがたいです。 なお、できるだけ、マクロやVBAなしで関数のみで実現できると助かります。 よろしくお願い申し上げます。

  • iPhoneアプリプログラミングButton

    現在iPhoneアプリのプログラミングを勉強を兼ねてカレンダーを作っています。 ボタンを押した時、月を移動するプログラムを組むところで処理がうまくいかず困っています。 まず、年月日曜日を取得するとき、int型でyear,monthを宣言し,現在の日付データを入れています。 その値をボタンを押した時に増減させたいのですが、以下の//エラーが出る箇所と記載した場所でviewcontroller not found とエラーが出てしまいます。 ボタンの中のコードから、viewDidLoad内の変数の値を変えるにはどうしたらいいのでしょうか? 「//年・月・日・曜日の取得」と「//月を移動するButton」のコードはviewDidLoad内にコードを書いています。 //年・月・日・曜日の取得 NSDate *now = [NSDate date]; NSCalendar *calendar = [NSCalendar currentCalendar]; NSUInteger flags; NSDateComponents *comps; flags = NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit; comps = [calendar components:flags fromDate:now]; NSInteger year = comps.year; NSInteger month = comps.month; NSInteger day = comps.day; comps = [calendar components:NSWeekdayCalendarUnit fromDate:now]; NSInteger weekday = comps.weekday;//1日が日曜、7日が土曜 NSInteger firstDayWeek = [self getFirstWeek:year month:month];//月の初日の曜日 //月を移動するButton UIButton *preButton = [UIButton buttonWithType:UIButtonTypeCustom]; [preButton setTitle:@"前月" forState:UIControlStateNormal]; preButton.titleLabel.font = [UIFont boldSystemFontOfSize:10]; preButton.tintColor = [UIColor whiteColor]; preButton.backgroundColor = [UIColor blueColor]; preButton.frame = CGRectMake(10, 30, 30, 20); [preButton addTarget:self action:@selector(preview:) forControlEvents:UIControlEventTouchUpInside]; [self.view addSubview:preButton]; //前月を表示するボタンメソッドの内容 - (void) preview:(id *)sender{ if (_year==1) { //エラーが出る箇所 self.month = 12  //エラーが出る箇所 _month--; //エラーが出る箇所 }else self.month--; //エラーが出る箇所 }