TimeZoneInfoの一覧を取得する - C#

TimeZoneInfoの一覧を取得します。TimeZoneInfoの一覧はTimeZoneInfoクラスのGetSystemTimeZones()メソッドで取得できます。

コード

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 TimeZoneDemo
{
  public partial class Form1 : Form
  {
    public Form1()
    {
      InitializeComponent();
    }

    private void Form1_Load(object sender, EventArgs e)
    {
      System.Collections.ObjectModel.ReadOnlyCollection<TimeZoneInfo> zoneinfo
        = TimeZoneInfo.GetSystemTimeZones();

      /*
      //forで記述する場合
      for (int i=0; i < zoneinfo.Count; i++) {
        comboBox1.Items.Add(zoneinfo[i].Id);
      }
      */

      foreach (TimeZoneInfo z in zoneinfo){
        comboBox1.Items.Add(z.DisplayName +" - " + z.Id);
      }

    }
  }
}

解説

 System.Collections.ObjectModel.ReadOnlyCollection<TimeZoneInfo> zoneinfo
   = TimeZoneInfo.GetSystemTimeZones();
にて、GetSystemTimeZones()メソッドを呼び出しTimeZoneInfoの一覧を取得します。取得結果はReadOnlyCollectionに代入しています。

foreach (TimeZoneInfo z in zoneinfo){
  comboBox1.Items.Add(z.DisplayName +" - " + z.Id);
}
foreachループを用いてzoneinfoコレクションの内容をComboBoxに追加していきます。

実行結果

TimeZoneInfoの名称とIDをコンボボックスのリストに表示します。

著者
iPentecのメインプログラマー
C#, ASP.NET の開発がメイン、少し前まではDelphiを愛用
最終更新日: 2024-01-06
作成日: 2011-08-27
iPentec all rights reserverd.