Date Xamarin表单:使用选定日期获取下一个和上一个日期
我使用以下代码获取所选日期的下一天和前一天详细信息。我有两个名为“下一个”和“上一个”的按钮来获取下一个日期Date Xamarin表单:使用选定日期获取下一个和上一个日期,date,xamarin.forms,Date,Xamarin.forms,我使用以下代码获取所选日期的下一天和前一天详细信息。我有两个名为“下一个”和“上一个”的按钮来获取下一个日期 //Saving the current date string selectedDate = DateTime.Now.ToString("dd-MM-yyyy"); //Previous day public void PrevButtonClicked(object sender, EventArgs args) { DateTimeOffset dtOffset;
//Saving the current date
string selectedDate = DateTime.Now.ToString("dd-MM-yyyy");
//Previous day
public void PrevButtonClicked(object sender, EventArgs args)
{
DateTimeOffset dtOffset;
if (DateTimeOffset.TryParse(selectedDate, null, DateTimeStyles.None, out dtOffset))
{
DateTime myDate = dtOffset.DateTime;
selectedDate = myDate.AddDays(-1).ToString("dd-MM-yyyy");
}
}
//Next day
public void NextButtonClicked(object sender, EventArgs args)
{
DateTimeOffset dtOffset;
if (DateTimeOffset.TryParse(selectedDate, null, DateTimeStyles.None, out dtOffset))
{
DateTime myDate = dtOffset.DateTime;
selectedDate = myDate.AddDays(+1).ToString("dd-MM-yyyy");
}
}
如果单击“上一步”按钮,结果将是2019年4月3日。如果再次按下上一个按钮,我得到2019年10月2日。下一个按钮也一样。根据所选日期,它将返回下一个或上一个日期
此功能在android和windows中运行良好。但是在ios中,这段代码得到了错误的结果。这是实现此功能的正确方法吗?您可以改进代码。我创建了一个带有标签的示例以显示当前日期 在xaml中
您可以改进代码。我创建了一个带有标签的示例以显示当前日期 在xaml中
这不是我所期望的。如果我单击上一个按钮一次,我需要2019年10月3日作为输出(因为当前日期是2019年10月4日)。如果我再次点击上一个按钮,我需要02-10-2019作为输出,同样,下一次点击01-10-2019作为输出。“下一步”按钮也是如此,如果单击“下一步”按钮,则需要基于当前日期的第二天。如果现在是10月1日,我需要2019年10月2日作为输出。希望你能理解。我在问题中的代码在android和UWP中工作正常,但在ios中工作不好。检查我的更新答案,它在ios上工作正常,你可以进行测试。这只给出昨天的日期和明天的日期,对吗?不,为什么不先测试一下?通过快速查看,我明白这一点,谢谢你的回答。这不是我所期望的。如果我单击上一个按钮一次,我需要2019年10月3日作为输出(因为当前日期是2019年10月4日)。如果我再次点击上一个按钮,我需要02-10-2019作为输出,同样,下一次点击01-10-2019作为输出。“下一步”按钮也是如此,如果单击“下一步”按钮,则需要基于当前日期的第二天。如果现在是10月1日,我需要2019年10月2日作为输出。希望你能理解。我在问题中的代码在android和UWP中工作正常,但在ios中工作不好。检查我的更新答案,它在ios上工作正常,你可以进行测试。这只给出昨天和明天的日期,对吗?不,为什么不先测试一下?通过快速查看,我明白了,谢谢你的回答。
<StackLayout VerticalOptions="CenterAndExpand" HorizontalOptions="CenterAndExpand" Orientation="Horizontal">
<Button Text="Preview" Clicked="PrevButtonClicked"/>
<Label x:Name="dateLabel" TextColor="Red" WidthRequest="100"/>
<Button Text="Next" Clicked="NextButtonClicked"/>
</StackLayout>
public partial class MainPage : ContentPage
{
int year, month, day;
public MainPage()
{
InitializeComponent();
dateLabel.Text = DateTime.Now.ToString("dd-MM-yyyy");
year = DateTime.Now.Year;
month = DateTime.Now.Month;
day= DateTime.Now.Day;
}
private void Button_Clicked(object sender, EventArgs e)
{
DateTime nowDate = new DateTime(year, month, day);
var previewDate = nowDate.AddDays(-1);
dateLabel.Text = previewDate.ToString("dd-MM-yyyy");
year = previewDate.Year;
month = previewDate.Month;
day = previewDate.Day;
}
private void Button_Clicked_1(object sender, EventArgs e)
{
DateTime nowDate = new DateTime(year, month, day);
var nextDate = nowDate.AddDays(+1);
dateLabel.Text = nextDate.ToString("dd-MM-yyyy");
year = nextDate.Year;
month = nextDate.Month;
day = nextDate.Day;
}
}