有人能指出我的所有时区引用的id在TimeZoneInfo.FindTimeZoneById()的完整列表吗?我在任何地方都找不到一个列表,我已经查看了. net文档。
当前回答
下面是微软提供的时区列表
其他回答
时区标识符列表,默认包含在Windows XP和Vista中:查找本地系统上定义的时区
下面是一个程序及其结果的完整列表。
代码:
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);
}
}
}
}
结果会随着时间而改变:
DateTime dt;
TimeZoneInfo tzf;
tzf = TimeZoneInfo.FindSystemTimeZoneById("TimeZone String");
dt = TimeZoneInfo.ConvertTime(DateTime.Now, tzf);
lbltime.Text = dt.ToString();
这是c#中的SelectListItem (asp .net)
你可以在后台写代码:
public static List<SelectListItem> GetTimezoneList()
{
try
{
// list of timezone
List<SelectListItem> timezoneList = new List<SelectListItem>();
timezoneList.Add(new SelectListItem() { Value = "", Text = "Select TimeZone...", Selected = false });
var timezoneInfo = TimeZoneInfo.GetSystemTimeZones();
foreach (var item in timezoneInfo)
{
timezoneList.Add(new SelectListItem()
{
Value = item.StandardName, Text = item.DisplayName, Selected = false });
}
return timezoneList;
}
}
catch (Exception e)
{
throw e;
}
}
在前端
@Html.DropDownListFor(s => s.TimeZone, YourbackendServiceName.GetTimezoneList(), new { @class = "form-control input-md" })
这将给你所有的时区DisplayName…即印度标准时间 下拉列表
var timeZoneInfos = TimeZoneInfo.GetSystemTimeZones();
上面给出了一个时区列表,其中包括id。
推荐文章
- 如何强制LINQ Sum()返回0而源集合是空的
- 将值附加到查询字符串
- 如何在JavaScript中获得时区名称?
- Selenium c# WebDriver:等待元素出现
- 我如何添加双引号的字符串,是在一个变量?
- 检查字符串是否包含字符串列表中的元素
- 最好的方法在asp.net强制https为整个网站?
- 将字符串转换为System.IO.Stream
- 如何有效地比较两个无序列表(不是集合)?
- 在每个列表元素上调用int()函数?
- 如何从枚举中选择一个随机值?
- 将Set<T>转换为List<T>的最简洁的方法
- 驻留在App_Code中的类不可访问
- 在链式LINQ扩展方法调用中等价于'let'关键字的代码
- dynamic (c# 4)和var之间的区别是什么?