【问题标题】:Xamarin Forms - How to get the correct time in DatePicker and TimePicker?Xamarin Forms - 如何在 DatePicker 和 TimePicker 中获取正确的时间?
【发布时间】:2020-09-28 22:49:10
【问题描述】:

我正在尝试在 Xamarin 表单中为我的 DatePicker 和 TimePicker 获取正确的格式。

我需要按以下格式获取正确的日期和时间:

2020 年 12 月 5 日下午 4:12:34

但我一直以这种格式获取它:

12/5/2020 12:00:00 AM 17:31:23.2153540

我希望能够选择截止日期的日期和时间,并以正确的格式显示。

这是我的代码:

在我的 xaml 文件中:

<DatePicker x:Name="dueDatePicker" Date="{x:Static sys:DateTime.Today}" Format="MMM dd yyyy" MinimumDate="{x:Static sys:DateTime.Today}" HorizontalOptions="EndAndExpand" />
<TimePicker x:Name="dueTimePicker" HorizontalOptions="End" />

在我的 xaml cs 文件中,我正在使用此代码,但它显示在 格式错误:

dueDatePicker.Date.ToString() + " " + dueTimePicker.Time.ToString();

谢谢。

【问题讨论】:

标签: c# visual-studio xamarin xamarin.forms


【解决方案1】:

如果要显示格式:12/5/2020 04:12:34 PM,需要先为TimePicker添加Format

<DatePicker x:Name="dueDatePicker"
            Date="{x:Static sys:DateTime.Today}"
            Format="MMM dd yyyy"
            MinimumDate="{x:Static sys:DateTime.Today}"
            HorizontalOptions="EndAndExpand" />
<TimePicker x:Name="dueTimePicker"
            Format="HH:mm:ss"
            HorizontalOptions="End" />

那么TimePicker会显示Xaml的格式,但是DatePicker需要使用另一种格式会显示想要的效果。

代码如下:

if(dueTimePicker.Time.Hours > 12)
{
    Console.WriteLine("time is : " + dueDatePicker.Date.ToString("MM/d/yyyy") + dueTimePicker.Time.ToString() + " PM ");
}
else
{
    Console.WriteLine("time is : " + dueDatePicker.Date.ToString("MM/d/yyyy")  + dueTimePicker.Time.ToString() + " AM ");
}

控制台输出为:

09-29 13:51:41.771 I/mono-stdout(11803):时间是:09/29/2020 05:00:00 AM
09-29 13:51:59.149 I/mono-stdout(11803): 时间是 : 09/29/2020 17:00:00 PM

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-07-22
    • 2020-08-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-15
    • 1970-01-01
    相关资源
    最近更新 更多