首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何验证NSDATE

如何验证NSDATE
EN

Stack Overflow用户
提问于 2012-07-26 12:14:34
回答 4查看 811关注 0票数 0

如何找到一个文本字段值是在过去的60天内,不包括当前日期.

例如,如果我在文本字段中输入的值为20-7月-2012年7月-2012年,则使用Date Picker.Then单击submit,它将检查特定的is日期是否在60天内。如果输入的值在60天前,则会显示一条警报消息。这些值从api中检索。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-07-26 12:22:27

代码语言:javascript
复制
NSDate *today = [NSDate date];

NSTimeInterval dateTime;
if ([pickerDate isEqualToDate:today])   //pickerDate is a NSDate
{
     NSLog (@"Dates are equal");
}
dateTime = ([pickerDate timeIntervalSinceDate:today] / 86400);  
if(dateTime < 0) //Check if visit date is a past date, dateTime returns - val
{
     NSLog (@"Past Date");
}
else 
{   
     NSLog (@"Future Date");
}

更改86400的值以适应您的query.In (本例),这是我们要比较的秒数。

票数 1
EN

Stack Overflow用户

发布于 2012-07-26 12:17:25

首先,将文本转换为NSDate。然后使用

timeIntervalSinceDate:[NSDate dateWithTimeIntervalSinceNow:0]

有几种方法可以将文本转换为NSDate。您可以正确地格式化文本,然后使用dateWithString,或者可以将所有内容转换为数字,将它们相乘,并使用dateWithTimeInterval方法之一。

如果您希望用户能够输入“七月”(纯文本月份),那么您可能想要编写一个方法,将月份转换为具有字符串匹配的对应数值。

票数 0
EN

Stack Overflow用户

发布于 2012-07-26 12:23:00

代码语言:javascript
复制
NSDate *lastDate; //your date I hope you have created it
NSDate *todaysDate = [NSDate date];
NSTimeInterval lastDiff = [lastDate timeIntervalSinceNow];
NSTimeInterval todaysDiff = [todaysDate timeIntervalSinceNow];
NSTimeInterval dateDiff = lastDiff - todaysDiff; // number of seconds
int days = dateDiff/(60*60*24); // 5.8 would become 5 as I'm taking int
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11669065

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档