Ste*_*Pet 1 windows-phone-7 windows-phone-8
如何将DateTime返回的本地时区转换为DateTime.NowUtc以外的其他时区.在桌面上我们有TimeZoneInfo.ConvertTimeBySystemTimeZoneId(),但它在Windows手机上不可用!
这个java片段显示了我想要做的事情
SimpleDateFormat format = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss z", Locale.US);
TimeZone tz = TimeZone.getDefault();
format.setTimeZone(TimeZone.getTimeZone("GMT"));
str = format.format(new Date());
Run Code Online (Sandbox Code Playgroud)
使用系统库是不可能的,因为无法创建TimeZoneInfolocal和utc以外的对象.他们也密封了班级.
但是,您可以使用此简单库来启用到非本地时区的转换. https://nuget.org/packages/WinRTTimeZones
像这样使用它:
using TimeZones;
public void ConvertTime()
{
// Get the time zone we want
var tz = TimeZoneService.FindSystemTimeZoneById("Central Standard Time");
var dt = new DateTime(1990, 7, 1, 12, 0, 0, DateTimeKind.Utc);
// This time will be central time
var local = tz.ConvertTime(dt);
}
Run Code Online (Sandbox Code Playgroud)
当DateTime转换是一个简单的练习,只要你想格式化.我建议使用本地格式(而不是本地时区)格式化日期,以便用户更容易理解日期.
| 归档时间: |
|
| 查看次数: |
1136 次 |
| 最近记录: |