アプリ版:「スタンプのみでお礼する」機能のリリースについて

地域と言語オプションで和暦設定を行っているPCで
DateTimePickerコントロールを西暦表示にしたいのですが
どの様にすればよいのでしょうか?

現在、プロパティを下記のように設定しています。
しかし、西暦で"2008/08/26"と表示したいのですが
和暦で"20/08/26"と表示されます。

Formatプロパティ:Custom
CustomFormatプロパティ:"yyyy/MM/dd"

皆様のお力をお貸し下さい。

環境は
WindowsXP sp2
VisualStudio2008 C#
です。

A 回答 (1件)

C#を勉強中の者です。

既に検索されているかもしれませんが、DateTimePickerの和暦、西暦は地域と言語オプションで決まってしまい、プログラム側で制御することはできないようです。

なお、「DateTimePicker 和暦」などで検索したところ、年の部分を文字列で表示してしまう方法を書かれている方がおられます。

DateTimePickerで和暦を表示させる
http://blogs.wankuma.com/mnow/archive/2006/05/21 …

ただし年の部分は文字列ですので選択してUpDownはできず、変更するにはカレンダーを使わなければなりません。しかもカレンダーの表示は和暦かもしれません。この方法でよければ下記のコードで常に西暦を表示できます。Windows XP SP3 + C#2005 Expressで試しました。

(でも、地域と言語オプションで和暦が選択されたのなら、和暦を表示した方が統一感があってよいようにも思います。プログラム内の文字列での比較等は西暦で統一して。)

--------
dateTimePicker1のFormatプロパティをCustomにしておきます。

private void dateTimePicker1_ValueChanged(object sender, EventArgs e)
{
dateTimePicker1.CustomFormat = dateTimePicker1.Value.Year.ToString() + "/MM/dd";
}
private void Form1_Load(object sender, EventArgs e)
{
dateTimePicker1_ValueChanged(dateTimePicker1, new EventArgs());
}
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!