現在の日時を取得するNowプロパティについてはこちらの記事を参照してください。
今月の月初の値のDateTimeオブジェクトを取得するコードを紹介します。
当月の月初の日付を表すDateTimeオブジェクトを取得したい場合があります。
月初のDateTimeオブジェクトを取得する場合は、現在の年、月と月初の日付"1"を利用して、DateTimeオブジェクトを生成する方法が簡単です。
Windows Formアプリケーションを作成します。
下図のフォームを作成します。テキストボックスとボタンを配置します。
下記のコードを記述します。ButtonのClickイベントを実装します。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace CalcDateTime2020
{
public partial class FormCalcMonth : Form
{
public FormCalcMonth()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
DateTime dt = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1);
textBox1.Text = dt.ToString("yyyy/MM/dd");
}
}
}
new演算子を利用して、DateTimeオブジェクトを作成します。コンストラクタに年、月、日を与えるとその日付のDateTimeオブジェクトを作成するコンストラクタがあるため、こちらを利用します。現在の日時はNowプロパティで取得し年、月には現在の日時の年と月の値を利用します。また、日付は月初の日付を指定するため1
を与えます。
DateTime dt = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1);
作成したDateTimeオブジェクトの値をテキストボックスに表示します。
textBox1.Text = dt.ToString("yyyy/MM/dd");
プロジェクトを実行します。下図のウィンドウが表示されます。
[現月の月初の日付]をクリックします。テキストボックスに月初の日付の値が表示されます。
月初の日付を表すDateTimeオブジェクトが取得できました。