有人能指出我的所有时区引用的id在TimeZoneInfo.FindTimeZoneById()的完整列表吗?我在任何地方都找不到一个列表,我已经查看了. net文档。
当前回答
var timeZoneInfos = TimeZoneInfo.GetSystemTimeZones();
上面给出了一个时区列表,其中包括id。
其他回答
这是你要找的链接:
c#系统时区id
DateTime dt;
TimeZoneInfo tzf;
tzf = TimeZoneInfo.FindSystemTimeZoneById("TimeZone String");
dt = TimeZoneInfo.ConvertTime(DateTime.Now, tzf);
lbltime.Text = dt.ToString();
下面是一个程序及其结果的完整列表。
代码:
using System;
namespace TimeZoneIds
{
class Program
{
static void Main(string[] args)
{
foreach (TimeZoneInfo z in TimeZoneInfo.GetSystemTimeZones())
{
// For a Console App
Console.WriteLine(z.Id + "," + z.BaseUtcOffset + "," + z.StandardName + "," + z.DisplayName + "," + z.DaylightName);
// For any other App
System.Diagnostics.Debug.WriteLine(z.Id + "," + z.BaseUtcOffset + "," + z.StandardName + "," + z.DisplayName + "," + z.DaylightName);
}
}
}
}
结果会随着时间而改变:
这是经过充分测试并为我工作的代码。你可以复制粘贴到你的aspx页面和cs页面。
这是我的博客,你可以在这里下载完整的代码。谢谢。
http://www.c-sharpcorner.com/blogs/display-all-the-timezone-information-in-dropdown-list-of-a-local-system-using-c-sharp-with-asp-net
<form id="form1" runat="server"> <div style="font-size: 30px; padding: 25px; text-align: center;"> Get Current Date And Time Of All TimeZones </div> <hr /> <div style="font-size: 18px; padding: 25px; text-align: center;"> <div class="clsLeft"> Select TimeZone :- </div> <div class="clsRight"> <asp:DropDownList ID="ddlTimeZone" runat="server" AutoPostBack="True" OnSelectedIndexChanged="ddlTimeZone_SelectedIndexChanged" Font-Size="18px"> </asp:DropDownList> </div> <div class="clearspace"> </div> <div class="clsLeft"> Selected TimeZone :- </div> <div class="clsRight"> <asp:Label ID="lblTimeZone" runat="server" Text="" /> </div> <div class="clearspace"> </div> <div class="clsLeft"> Current Date And Time :- </div> <div class="clsRight"> <asp:Label ID="lblCurrentDateTime" runat="server" Text="" /> </div> </div> <p> </p> <asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button" /> </form>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BindTimeZone();
GetSelectedTimeZone();
}
}
protected void ddlTimeZone_SelectedIndexChanged(object sender, EventArgs e)
{
GetSelectedTimeZone();
}
/// <summary>
/// Get all timezone from local system and bind it in dropdownlist
/// </summary>
private void BindTimeZone()
{
foreach (TimeZoneInfo z in TimeZoneInfo.GetSystemTimeZones())
{
ddlTimeZone.Items.Add(new ListItem(z.DisplayName, z.Id));
}
}
/// <summary>
/// Get selected timezone and current date & time
/// </summary>
private void GetSelectedTimeZone()
{
DateTimeOffset newTime = TimeZoneInfo.ConvertTime(DateTimeOffset.UtcNow, TimeZoneInfo.FindSystemTimeZoneById(ddlTimeZone.SelectedValue));
//DateTimeOffset newTime2 = TimeZoneInfo.ConvertTime(DateTimeOffset.UtcNow, TimeZoneInfo.FindSystemTimeZoneById(ddlTimeZone.SelectedValue));
lblTimeZone.Text = ddlTimeZone.SelectedItem.Text;
lblCurrentDateTime.Text = newTime.ToString();
string str;
str = lblCurrentDateTime.Text;
string s=str.Substring(0, 10);
DateTime dt = new DateTime();
dt = Convert.ToDateTime(s);
// Response.Write(dt.ToString());
Response.Write(ddlTimeZone.SelectedValue);
}
时区标识符列表,默认包含在Windows XP和Vista中:查找本地系统上定义的时区
推荐文章
- 将一个列表分成大约相等长度的N个部分
- 随机字符串生成器返回相同的字符串
- 为什么Func<T,bool>而不是Predicate<T>?
- .NET中的Map和Reduce
- 我如何能使一个组合框不可编辑的。net ?
- .NET反射的成本有多高?
- 实体框架回滚并移除不良迁移
- 将流转换为字符串并返回
- 在python中zip的逆函数是什么?
- 在c#中检查字符串是否只包含数字的最快方法
- IEquatable和重写Object.Equals()之间的区别是什么?
- 创建一个堆栈大小为默认值50倍的线程有什么危险?
- 转换JSON字符串到JSON对象c#
- 如何在元组列表中获得第一个元素?
- 显示两个datetime值之间的小时差值