DateTime型の値から曜日を求める - C#

DateTime型の値から曜日を求めます。

概要

DateTime型の値から曜日を求める場合は、DateTimeオブジェクトの DayOfWeek プロパティを利用します。

プログラム例

UI

以下のUIを準備します。

コード

下記のコードを記述します。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace GetDayOfWeek
{
  public partial class FormMain : Form
  {
    public FormMain()
    {
      InitializeComponent();
    }

    private void button1_Click(object sender, EventArgs e)
    {
      DateTime dt = dateTimePicker1.Value;
      DayOfWeek dow = dt.DayOfWeek;

      switch (dow) {
        case DayOfWeek.Sunday:
          textBox1.Text = "日曜日";
          break;
        case DayOfWeek.Monday:
          textBox1.Text = "月曜日";
          break;
        case DayOfWeek.Tuesday:
          textBox1.Text = "火曜日";
          break;
        case DayOfWeek.Wednesday:
          textBox1.Text = "水曜日";
          break;
        case DayOfWeek.Thursday:
          textBox1.Text = "木曜日";
          break;
        case DayOfWeek.Friday:
          textBox1.Text = "金曜日";
          break;
        case DayOfWeek.Saturday:
          textBox1.Text = "土曜日";
          break;
      }
    }
  }
}

解説

DateTime dt = dateTimePicker1.Value;
にて、DateTimePickerで選択している日時をDateTime型で取り出します。
DayOfWeek dow = dt.DayOfWeek;
にて、DayOfWeekプロパティから、取得したDateTime型の曜日を求めます。曜日はDayOfWeek型の値になります。

switch (dow) {
  case DayOfWeek.Sunday:
    textBox1.Text = "日曜日";
    break;
  case DayOfWeek.Monday:
    textBox1.Text = "月曜日";
    break;
  case DayOfWeek.Tuesday:
    textBox1.Text = "火曜日";
    break;
  case DayOfWeek.Wednesday:
    textBox1.Text = "水曜日";
    break;
  case DayOfWeek.Thursday:
    textBox1.Text = "木曜日";
    break;
  case DayOfWeek.Friday:
    textBox1.Text = "金曜日";
    break;
  case DayOfWeek.Saturday:
    textBox1.Text = "土曜日";
    break;
}
switch文でDayOfWeek型の値を判定し曜日名をテキストボックスに表示します。

実行結果

アプリケーションを起動し、ボタンをクリックします。DateTimePickerで選択した日付の曜日がテキストボックスに表示されます。

このページのキーワード
  • DateTime型の値から曜日を取得する
著者
iPentecのメインプログラマー
C#, ASP.NET の開発がメイン、少し前まではDelphiを愛用
掲載日: 2012-05-10
iPentec all rights reserverd.