我已经创建了一个应用程序,用户使用FIRAuth.auth()?.currentUser.linkWithCredential(credential) { (user, error) in
// ...
}
选择出生日期。用户必须超过21岁且不满26岁。如果用户超过21岁且未满26岁,则会出现一个消息框,提示"成功"。但是,当我选择出生日期在21到25之间时,没有任何事情发生。不知道我在这里做错了什么,但我认为在"If the call to linkWithCredential:completion: succeeds, the user's new account can access the anonymous account's Firebase data."
我的代码就像休耕一样
XAML
DatePicker
xaml.cs
datePicker
答案 0 :(得分:2)
您选错了DatePicker
进行比较:
DateTime birthDate = Convert.ToDateTime(dp.SelectedDate);
应该是
DateTime birthDate = Convert.ToDateTime(dpkDOB.SelectedDate);
根据评论:
DateTime birthDate = Convert.ToDateTime(dpkDOB.SelectedDate);
if(birthDate > DateTime.Now.AddYears(-26) && birthDate < DateTime.Now.AddYears(-21))
{
// do stuff
}
如果您在解决方案中更频繁地需要此功能,请考虑这样的扩展程序:
public static class Extensions
{
public static TimeSpan Age(this DateTime dt)
{
return (DateTime.Now - dt);
}
public static int Years(this TimeSpan ts)
{
return (int)((double)ts.Days / 365.2425);
}
}
<强>用法:强>
DateTime birthDate = Convert.ToDateTime(dpkDOB.SelectedDate);
if (birthDate.Age().Years() > 21 && birthDate.Age().Years() < 26)
{
// do stuff
}