UWP C#Windows 10 IoT datepicker& timepicker更新系统日期&时间

时间:2017-12-11 15:50:13

标签: c# datepicker uwp timepicker windows-10-iot-core

我想知道是否有任何更新/更改系统日期和方法的方法。时间使用datepicker& timepicker?我找不到任何示例代码供参考。请指教。 感谢。

更新

I encountered exception when setting the date. 有什么我错过了吗?

System Management Capabilities

2 个答案:

答案 0 :(得分:3)

Windows IoT Extension SDK 16299中包含

DateTimeSettings SetSystemDateTime 方法用于设置系统日期和时间。请参考以下代码。

    //Change Date by DatePicker
    private void DatePickerChangeSetting_DateChanged(object sender, DatePickerValueChangedEventArgs e)
    {
        DateTimeSettings.SetSystemDateTime(e.NewDate.UtcDateTime);
    }

    //Change Time by TimePicker
    private void tpChangeSetting_TimeChanged(object sender, TimePickerValueChangedEventArgs e)
    {
        var currentDate = DateTime.Now.ToUniversalTime();

        var newDateTime = new DateTime(currentDate.Year,
                                       currentDate.Month, 
                                       currentDate.Day, 
                                       e.NewTime.Hours, 
                                       e.NewTime.Minutes, 
                                       e.NewTime.Seconds);

        DateTimeSettings.SetSystemDateTime(newDateTime);
    }

@Naikrovek,在链接的文档中,它不是关于参数 DateTime / DateTimeOffset 的错误。实质上,这两者可以相互转换。请参阅Converting between DateTime and DateTimeOffsetc。此外,您提到的有关在16299上显示更新时间的问题已修复, IoTCoreDefaultApp 已更改为调用NativeTimeMethods.GetLocalTime方法。

此外,我发布了我的参考设置和appxmanifest功能设置,您可以从here为UWP安装Windows IoT Extension(下载Windows 10 sdk然后再安装)。 enter image description here enter image description here

答案 1 :(得分:0)

如果您的项目引用了IoT UWP扩展,并且您已将系统管理功能添加到您的appxmanifest,则可以设置日期和时间via this method

链接的文档对我来说似乎含糊不清;它混合了使用偏移量与实际日期和时间的比较。我怀疑复制粘贴错误,我不确定这种方法是否真的可以满足你的需要。

请注意,IoT Core 16299上的默认主页应用程序有一个不会始终显示更新时间的错误,因此在修复此错误之前,请不要依赖该屏幕来了解您的时钟是否正确。