Windows phone 7 将DateTime转换为其他时区
如何将Windows phone 7 将DateTime转换为其他时区,windows-phone-7,windows-phone-8,Windows Phone 7,Windows Phone 8,如何将DateTime.Now返回的本地时区中的DateTime转换为Utc以外的其他时区。在桌面上,我们有TimeZoneInfo.ConvertTimeBySystemTimeZoneId(),但它在windows phone上不可用 这个java代码片段粗略地展示了我想要做的事情 使用系统库无法做到这一点,因为除了本地和utc之外,无法创建TimeZoneInfo对象。他们也有这个班 但是,您可以使用这个简单的库来启用到非本地时区的转换。 像这样使用它: public String g
DateTime.Now
返回的本地时区中的DateTime
转换为Utc以外的其他时区。在桌面上,我们有TimeZoneInfo.ConvertTimeBySystemTimeZoneId()
,但它在windows phone上不可用
这个java代码片段粗略地展示了我想要做的事情
使用系统库无法做到这一点,因为除了本地和utc之外,无法创建
TimeZoneInfo
对象。他们也有这个班
但是,您可以使用这个简单的库来启用到非本地时区的转换。
像这样使用它:
public String getNationTime(String Zone)
{
DateTime todayutc = DateTime.UtcNow;
string todaydate = todayutc.ToShortDateString();
string todaytime = todayutc.TimeOfDay.ToString().Split('.')[0];
Zone = Zone.Replace("GMT", "");
if (Zone.Length == 0)
return todaytime;
int zoneHour = int.Parse(Zone.Split(':')[0]);
int zoneMin = int.Parse(Zone.Split(':')[1]);
TimeSpan diff = new TimeSpan(zoneHour, zoneMin, 00);
todayutc = todayutc.Add(diff);
return todayutc.TimeOfDay.ToString().Split('.')[0];
}
使用时区;
公共时间()
{
//得到我们想要的时区
var tz=TimeZoneService.FindSystemTimeZoneById(“中央标准时间”);
var dt=新的日期时间(1990,7,1,12,0,0,DateTimeKind.Utc);
//这次将是中央时间
var local=tz.转换时间(dt);
}
转换
日期时间
时,根据需要对其进行格式化是一个简单的练习。我建议以本地格式(而不是本地时区)设置日期格式,以便于用户理解日期。使用系统库无法做到这一点,因为无法创建本地和utc以外的TimeZoneInfo
对象。他们也有这个班
但是,您可以使用这个简单的库来启用到非本地时区的转换。
像这样使用它:
public String getNationTime(String Zone)
{
DateTime todayutc = DateTime.UtcNow;
string todaydate = todayutc.ToShortDateString();
string todaytime = todayutc.TimeOfDay.ToString().Split('.')[0];
Zone = Zone.Replace("GMT", "");
if (Zone.Length == 0)
return todaytime;
int zoneHour = int.Parse(Zone.Split(':')[0]);
int zoneMin = int.Parse(Zone.Split(':')[1]);
TimeSpan diff = new TimeSpan(zoneHour, zoneMin, 00);
todayutc = todayutc.Add(diff);
return todayutc.TimeOfDay.ToString().Split('.')[0];
}
使用时区;
公共时间()
{
//得到我们想要的时区
var tz=TimeZoneService.FindSystemTimeZoneById(“中央标准时间”);
var dt=新的日期时间(1990,7,1,12,0,0,DateTimeKind.Utc);
//这次将是中央时间
var local=tz.转换时间(dt);
}
转换日期时间
时,根据需要对其进行格式化是一个简单的练习。我建议将日期设置为本地格式(而不是本地时区),以便于用户理解日期。如下使用:
public String getNationTime(String Zone)
{
DateTime todayutc = DateTime.UtcNow;
string todaydate = todayutc.ToShortDateString();
string todaytime = todayutc.TimeOfDay.ToString().Split('.')[0];
Zone = Zone.Replace("GMT", "");
if (Zone.Length == 0)
return todaytime;
int zoneHour = int.Parse(Zone.Split(':')[0]);
int zoneMin = int.Parse(Zone.Split(':')[1]);
TimeSpan diff = new TimeSpan(zoneHour, zoneMin, 00);
todayutc = todayutc.Add(diff);
return todayutc.TimeOfDay.ToString().Split('.')[0];
}
像这样使用它:
public String getNationTime(String Zone)
{
DateTime todayutc = DateTime.UtcNow;
string todaydate = todayutc.ToShortDateString();
string todaytime = todayutc.TimeOfDay.ToString().Split('.')[0];
Zone = Zone.Replace("GMT", "");
if (Zone.Length == 0)
return todaytime;
int zoneHour = int.Parse(Zone.Split(':')[0]);
int zoneMin = int.Parse(Zone.Split(':')[1]);
TimeSpan diff = new TimeSpan(zoneHour, zoneMin, 00);
todayutc = todayutc.Add(diff);
return todayutc.TimeOfDay.ToString().Split('.')[0];
}
我已经添加了这个nuget,但它不适用于“任何CPU”平台配置。但是它单独适用于ARM和x86平台。@KdSingh我个人正在开发库,请与库的维护人员联系。关于这个问题,我添加了这个nuget,但它不适用于“任何CPU”平台配置。但是它单独适用于ARM和x86平台。@KdSingh我个人正在开发该库,请与库的维护人员联系以解决此问题