- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图在 iOS 上查找一周内即将到来的生日。我从 Facebook 中提取了生日数据并修剪了年份部分(因为根据用户的隐私设置,某些用户可能无法使用它)因此生日数据是一个 NSString
,日期格式为 @"MM/dd”
NSDateFormatter *dateFormatter = [[NSDateFormatter dateFormatterWithFormat:@"MM/dd"] retain];
NSDate *today = [NSDate date];
NSDateComponents *todayComponents = [dateFormatter.calendar components:NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit
fromDate:today];
todayComponents.hour = 13;
todayComponents.minute = 0;
todayComponents.second = 0;
today = [dateFormatter.calendar dateFromComponents:todayComponents];
[facebookFriends enumerateObjectsUsingBlock:^(NSDictionary *friend,
NSUInteger idx,
BOOL *stop) {
NSDate *birthday = [dateFormatter dateFromString:[friend objectForKey:@"birthday"]];
NSDateComponents *birthdayComponents = [dateFormatter.calendar components:NSMonthCalendarUnit | NSDayCalendarUnit
fromDate:birthday];
birthdayComponents.year = todayComponents.year;
birthdayComponents.hour = todayComponents.hour;
birthdayComponents.minute = todayComponents.minute;
birthdayComponents.second = todayComponents.second;
birthday = [dateFormatter.calendar dateFromComponents:birthdayComponents];
NSDateComponents *difference = [dateFormatter.calendar components:NSDayCalendarUnit
fromDate:today
toDate:birthday
options:0];
if (difference.day >= 0 &&
difference.day < 7) { // 7 days in a week
[birthdaysToShow[difference.day] addObject:friend];
}
}];
[dateFormatter release];
其中 dateFormatterWithFormat:
是 NSDateFormatter
上的一个类别:
+ (NSDateFormatter *)dateFormatterWithFormat:(NSString *)formatString
{
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
NSCalendar *calendar = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease];
dateFormatter.calendar = calendar;
dateFormatter.dateFormat = formatString;
dateFormatter.timeZone = [NSTimeZone timeZoneWithAbbreviation:@"GMT"];
return [dateFormatter autorelease];
}
这里有2个问题:
1-我在这段代码中有一个错误,如果距离新年不到一周,我将无法在新年显示生日,因为我将生日年份设置为对于新年的生日,当前年份和 difference.day
将远小于 0。我该如何解决这个问题?
2- 正如您从上面的代码片段中看到的那样,我正在跳很多舞:首先我使用 [NSDate date]
获取今天的日期和时间,然后我将它撕成它的组件并将它组装回一个 NSDate
中午时间而不是当前时间。我这样做的原因是,如果 [NSDate date]
返回一个时间为 23:00:00 的日期,并且生日时间为 00:00:00(1 小时后,意味着生日是明天),那么 difference.day
等于 0
而不是所需的 1
。我在上面的代码片段中所做的是正确的做法吗?我想我可能为看似简单的事情做了太多工作,你如何解决这种安排,这样我就不必将 today
和 birthday
分成组件和将它们放回到 NSDate
中?
最佳答案
为每个 birthdayComponents 对象设置正确的年份:
birthdayComponents.year=todayComponents.year; //default
if(birthdayComponents.month< todayComponents.month) birthdayComponents.year=todayComponents.year+1; //their next birthday is next year.
if(birthdayComponents.month==todayComponents.month && birthdayComponents.day<todayComponents.day) birthdayComponents.year=todayComponents.year+1; //their next birthday is next year
关于iphone - ios - 查找一周内即将到来的生日,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15143633/
我是一个非常基础的 git 用户;我基本上只使用命令 git add -a(修改后添加文件)然后 git commit -m "what I did" 然后 git push (将其推送到我的服务器)
我有两个用户选择的日期:开始日期和结束日期。它们是 NSDate 实例,我必须将它们作为 NSNumber 的参数发送。如何以秒为单位将它们转换为 NSNumber? 最佳答案 使用下面的代码: N
我正在构建一个应用程序,用户可以在其中无限次操作 svg 对象(例如图像),即旋转和缩放它们。我使用 Raphael.js 来处理 SVG。 如何在应用新转换之前将对象“重置”到其初始状态,以便新转换
我想在调用我的应用程序中的函数时进行记录。有没有一种方法可以监听调用的函数并在此类事件上运行代码? 如果是这样,我从哪里开始研究如何做到这一点? 最佳答案 只需将日志记录直接插入到您想要的位置即可。
void main() { char c; int op; int a=10,b=20,sum; scanf("%c",&c); if(c=='+')
我正在尝试使用 H2 进行集成测试。我希望 H2 数据库在每次测试之间重置为我的 data.sql 。但在建议的解决方案中,我还没有发现有效; @Transactional 和 @DirtiesCon
这个问题在这里已经有了答案: Tokenizing a String but ignoring delimiters within quotes (13 个回答) 关闭6年前。 如何将String按空
我在我的项目中有一个要求,我们有一些输入框,我们应该输入时间。 时间可以以任何格式输入,即 12:30a 或 1230 或 1430 或 14:30 . 以1230 或 1430 格式输入的计时问题是
我对 Jquery UI Resizable 功能有疑问。 我正在使用 Jquery resizable 将 div 调整为不同的宽度和高度。它运行良好,但是当我尝试将高度降低到一个非常低的数字时,它
我刚刚读了an article其中指出: Internet domain addresses opened up to wave of new suffixes Internet naming boa
我有一个对象列表,比方说 List类 Example 有一个成员 a,它是一个字符串: class Example { String a; String b; } 现在我想从List得
假设我有一个只有两列的表格:姓名 和心情。一行包含一个人的名字和他们的心情,如果他们有多种心情,那么多行存储在数据库中。 例如,在数据库中是约翰,他很高兴、兴奋和自豪。 这表示为 John Happy
对于从 (-x 或 0) -> 无穷大的积分,我在 MATLAB 的 quadgk 和 Python 的 quad 例程之间得到不一致的结果。我相信 MATLAB 版本是正确的(基于将 flag 参数
我非常想知道如何修改现有的 LINQ 函数以添加 Func TResult到函数签名,即允许它使用选择器,如 (o => o.CustomField) . 例如,在 C# 中,我可以使用 .IsDis
我是一名优秀的程序员,十分优秀!