在WPF / XAML中显示本地时区的时间
我的应用程序在几个不同的设备上同步数据。 因此,它将所有日期存储在UTC时区中,以考虑可能设置为不同时区的不同设备。
麻烦的是,当我读回日期并显示它们时,它们似乎是不正确的(大多数用户都在英国夏令时,所以他们落后一小时)。
我是否需要手动覆盖UI线程的set CurrentCulture属性? 我知道我必须在Silverlight中这样做。
在解析存储的DateTime
并将其转换为DateTime.ToLocalTime()时,您是否将“Utc”指定为DateTime.Kind ?
public DateTime Submitted { get { DateTime utcTime = DateTime.SpecifyKind(DateTime.Parse(/*"Your Stored val from DB"*/), DateTimeKind.Utc); return utcTime.ToLocalTime(); } set { ... } }
^^对我来说很好
更新:
class UtcToLocalDateTimeConverter : IValueConverter { public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { return DateTime.SpecifyKind(DateTime.Parse(value.ToString()), DateTimeKind.Utc).ToLocalTime(); } public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) { throw new NotImplementedException(); } }
XAML:
上述就是C#学习教程:在WPF / XAML中显示本地时区的时间分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)
...
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请点击右边联系管理员删除。
如若转载,请注明出处:https://www.ctvol.com/cdevelopment/1005049.html