- 浏览: 224035 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
15197442045:
求demo,谢谢
IOS 后台执行代码(voip socket) -
15197442045:
我用了你这种方式,还是不能后台运行~~~~~
IOS 后台执行代码(voip socket) -
wlpych:
这个m_socket,从哪获得啊,什么方法?用的pjsip。求 ...
IOS 后台执行代码(voip socket)
@interface NSDate (Helper)
- (NSUInteger)daysAgo;
- (NSUInteger)daysAgoAgainstMidnight;
- (NSString *)stringDaysAgo;
- (NSString *)stringDaysAgoAgainstMidnight:(BOOL)flag;
- (NSUInteger)weekday;
+ (NSDate *)dateFromString:(NSString *)string;
+ (NSDate *)dateFromString:(NSString *)string withFormat:(NSString *)format;
+ (NSString *)stringFromDate:(NSDate *)date withFormat:(NSString *)string;
+ (NSString *)stringFromDate:(NSDate *)date;
+ (NSString *)stringForDisplayFromDate:(NSDate *)date;
+ (NSString *)stringForDisplayFromDate:(NSDate *)date prefixed:(BOOL)prefixed;
- (NSString *)string;
- (NSString *)stringWithFormat:(NSString *)format;
- (NSString *)stringWithDateStyle:(NSDateFormatterStyle)dateStyle timeStyle:(NSDateFormatterStyle)timeStyle;
- (NSDate *)beginningOfWeek;
- (NSDate *)beginningOfDay;
- (NSDate *)endOfWeek;
+ (NSString *)dateFormatString;
+ (NSString *)timeFormatString;
+ (NSString *)timestampFormatString;
+ (NSString *)dbFormatString;
@end
#import "NSDate+Helper.h"
@implementation NSDate (Helper)
- (NSUInteger)daysAgo {
NSCalendar *calendar = [NSCalendar currentCalendar];
NSDateComponents *components = [calendar components:(NSDayCalendarUnit)
fromDate:self
toDate:[NSDatedate]
options:0];
return [components day];
}
- (NSUInteger)daysAgoAgainstMidnight {
// get a midnight version of ourself:
NSDateFormatter *mdf = [[NSDateFormatter alloc]init];
[mdf setDateFormat:@"yyyy-MM-dd"];
NSDate *midnight = [mdf dateFromString:[mdf stringFromDate:self]];
[mdf release];
return (int)[midnight timeIntervalSinceNow] / (60*60*24) *-1;
}
- (NSString *)stringDaysAgo {
return[self stringDaysAgoAgainstMidnight:YES];
}
- (NSString *)stringDaysAgoAgainstMidnight:(BOOL)flag {
NSUInteger daysAgo = (flag) ? [selfdaysAgoAgainstMidnight] : [selfdaysAgo];
NSString *text = nil;
switch (daysAgo) {
case0:
text = @"Today";
break;
case1:
text = @"Yesterday";
break;
default:
text = [NSStringstringWithFormat:@"%d days ago", daysAgo];
}
return text;
}
- (NSUInteger)weekday {
NSCalendar *calendar = [NSCalendar currentCalendar];
NSDateComponents *weekdayComponents = [calendar components:(NSWeekdayCalendarUnit) fromDate:self];
return [weekdayComponents weekday];
}
+ (NSDate *)dateFromString:(NSString *)string {
return[NSDate dateFromString:string withFormat:[NSDate dbFormatString]];
}
+ (NSDate *)dateFromString:(NSString *)string withFormat:(NSString *)format {
NSDateFormatter *inputFormatter = [[NSDateFormatter alloc]init];
[inputFormatter setDateFormat:format];
NSDate *date = [inputFormatter dateFromString:string];
[inputFormatter release];
return date;
}
+ (NSString *)stringFromDate:(NSDate *)date withFormat:(NSString *)format {
return [date stringWithFormat:format];
}
+ (NSString *)stringFromDate:(NSDate *)date {
return [date string];
}
+ (NSString *)stringForDisplayFromDate:(NSDate *)date prefixed:(BOOL)prefixed {
NSDate *today = [NSDatedate];
NSCalendar *calendar = [NSCalendar currentCalendar];
NSDateComponents*offsetComponents = [calendar components:(NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit)
fromDate:today];
NSDate *midnight = [calendar dateFromComponents:offsetComponents];
NSDateFormatter *displayFormatter = [[NSDateFormatter alloc]init];
NSString *displayString = nil;
// comparing against midnight
if ([date compare:midnight] == NSOrderedDescending) {
if (prefixed) {
[displayFormatter setDateFormat:@"'at' h:mm a"]; // at 11:30 am
} else {
[displayFormatter setDateFormat:@"h:mm a"]; // 11:30 am
}
} else {
// check if date is within last 7 days
NSDateComponents *componentsToSubtract = [[NSDateComponentsalloc] init];
[componentsToSubtract setDay:-7];
NSDate *lastweek = [calendar dateByAddingComponents:componentsToSubtract toDate:today options:0];
[componentsToSubtract release];
if ([date compare:lastweek] == NSOrderedDescending) {
[displayFormatter setDateFormat:@"EEEE"]; // Tuesday
} else {
// check if same calendar year
NSInteger thisYear = [offsetComponents year];
NSDateComponents*dateComponents = [calendar components:(NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit)
fromDate:date];
NSInteger thatYear = [dateComponents year];
if (thatYear >= thisYear) {
[displayFormatter setDateFormat:@"MMM d"];
} else {
[displayFormatter setDateFormat:@"MMM d, yyyy"];
}
}
if (prefixed) {
NSString *dateFormat = [displayFormatter dateFormat];
NSString *prefix = @"'on' ";
[displayFormatter setDateFormat:[prefix stringByAppendingString:dateFormat]];
}
}
// use display formatter to return formatted date string
displayString = [displayFormatter stringFromDate:date];
[displayFormatter release];
return displayString;
}
+ (NSString *)stringForDisplayFromDate:(NSDate *)date {
return[self stringForDisplayFromDate:date prefixed:NO];
}
- (NSString *)stringWithFormat:(NSString *)format {
NSDateFormatter *outputFormatter = [[NSDateFormatter alloc]init];
[outputFormatter setDateFormat:format];
NSString *timestamp_str = [outputFormatter stringFromDate:self];
[outputFormatter release];
return timestamp_str;
}
- (NSString *)string {
return[self stringWithFormat:[NSDatedbFormatString]];
}
- (NSString *)stringWithDateStyle:(NSDateFormatterStyle)dateStyle timeStyle:(NSDateFormatterStyle)timeStyle {
NSDateFormatter *outputFormatter = [[NSDateFormatter alloc]init];
[outputFormatter setDateStyle:dateStyle];
[outputFormatter setTimeStyle:timeStyle];
NSString *outputString = [outputFormatter stringFromDate:self];
[outputFormatter release];
return outputString;
}
- (NSDate *)beginningOfWeek {
// largely borrowed from "Date and Time Programming Guide for Cocoa"
// we'll use the default calendar and hope for the best
NSCalendar *calendar = [NSCalendar currentCalendar];
NSDate *beginningOfWeek = nil;
BOOLok = [calendar rangeOfUnit:NSWeekCalendarUnit startDate:&beginningOfWeek
interval:NULL forDate:self];
if (ok) {
return beginningOfWeek;
}
// couldn't calc via range, so try to grab Sunday, assuming gregorian style
// Get the weekday component of the current date
NSDateComponents*weekdayComponents = [calendar components:NSWeekdayCalendarUnit fromDate:self];
NSDateComponents *componentsToSubtract = [[NSDateComponentsalloc] init];
[componentsToSubtract setDay: 0 - ([weekdayComponents weekday] - 1)];
beginningOfWeek = nil;
beginningOfWeek = [calendar dateByAddingComponents:componentsToSubtract toDate:selfoptions:0];
[componentsToSubtract release];
//normalize to midnight, extract the year, month, and day components and create a new date from those components.
NSDateComponents*components = [calendar components:(NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit)
fromDate:beginningOfWeek];
return [calendar dateFromComponents:components];
}
- (NSDate *)beginningOfDay {
NSCalendar *calendar = [NSCalendar currentCalendar];
// Get the weekday component of the current date
NSDateComponents*components = [calendar components:(NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit)
fromDate:self];
return [calendar dateFromComponents:components];
}
- (NSDate *)endOfWeek {
NSCalendar *calendar = [NSCalendar currentCalendar];
// Get the weekday component of the current date
NSDateComponents*weekdayComponents = [calendar components:NSWeekdayCalendarUnit fromDate:self];
NSDateComponents *componentsToAdd = [[NSDateComponents alloc]init];
// to get the end of week for a particular date, add (7 - weekday) days
[componentsToAdd setDay:(7 - [weekdayComponents weekday])];
NSDate *endOfWeek = [calendar dateByAddingComponents:componentsToAdd toDate:selfoptions:0];
[componentsToAdd release];
return endOfWeek;
}
+ (NSString *)dateFormatString {
return @"yyyy-MM-dd";
}
+ (NSString *)timeFormatString {
return @"HH:mm:ss";
}
+ (NSString *)timestampFormatString {
return @"yyyy-MM-dd HH:mm:ss";
}
// preserving for compatibility
+ (NSString *)dbFormatString {
return[NSDate timestampFormatString];
}
@end
发表评论
-
UIWebView清空缓存
2016-07-25 10:03 514- (void)clearAllUIWebViewData { ... -
iOS显示FPS值的工具FHHFPSIndicator
2016-07-04 13:56 0转载:http://www.cocoachina.com/io ... -
响应者链及相关机制总结
2016-06-30 14:25 513转载:http://www.cocoachina.com/i ... -
KVO&KVC的再次认知
2015-02-02 16:01 707KVO模型中,有两种通知观察者的方式,自动通知和手动通知。顾名 ... -
代码重构的理解(持续更新)
2015-01-13 17:27 586代码重构的理解和思考。 1:何时进行重构?当重复出现的时候,你 ... -
深入浅出Cocoa之Framework(转)
2015-01-06 17:49 0Framework 简介 转自 http://www.coc ... -
iOS静态库和动态库
2014-12-24 17:55 806一、什么是库? 库是共 ... -
svg图片在ios上的使用
2014-12-23 15:22 7441:从UI设计师那里得到的是每个svg图通过网站icomoon ... -
svg图片在ios上的使用
2014-12-23 15:22 32541:从UI设计师那里得到的是每个svg图通过网站icomoon ... -
Xcode设置项之Architectures和Valid Architectures
2014-12-22 10:42 625本文所讲的内容都是围绕iPhone的CPU指令集,现在先说说不 ... -
Xcode中Build Settings更改编译后能发现的问题
2014-12-17 13:36 7451:for循环不加括号 2:枚举赋值时类型不匹配 3:for循 ... -
静态库编译心得
2014-12-16 11:16 527我们编译静态库时一般会生成模拟器,真机两个包的.a文件 这二个 ... -
xcode编译选项整理
2014-12-11 19:15 0LINK_WITH_STANDARD_LIBRARIES = ... -
根据dsym解析crash_log
2014-12-01 14:15 9401:拷贝symbolicatecrash到/bin目录下 su ... -
autolayout心得
2014-10-28 13:30 688一:实现方案在以前就已经确定了下面几个点: 1 使 ... -
Objective-C的消息传递机制[转]
2014-07-31 20:34 683一直想写一篇类似的。 直接转载了 http://www.cnb ... -
iOS开发模拟限速
2012-12-07 17:47 54011. 模拟器网速调整: 限制时输入下面两行,根据需要修改下面的 ... -
iphone中结束电话后返回自己的应用(转载)
2012-04-10 10:30 1201iphone中结束电话后返回自己的应用 大家想不想在 ... -
Info.plist中常用的key简介(转载)
2012-03-15 15:55 946UIRequiresPersistentWiFi 在程序中弹出 ... -
UIScrollView 原理(转载)
2012-03-10 19:46 1166scroll view 原理 在滚动过程当中,其实是在修 ...
相关推荐
标题中的"仿iPhone日期选择器,开始时间和结束时间选择"指的是创建一个UI组件,它模仿了苹果设备上的日期选择器,并允许用户分别选择开始日期和结束日期。 苹果原生的日期选择器(UIDatePicker)通常只能单独选择一...
在Android开发中,为了提供与iOS相似的用户体验,有时我们需要创建一个仿iPhone样式的日期时间选择器。这个组件通常用于让用户方便地选取特定的日期和时间。本文将深入探讨如何在Android平台上实现这样一个功能,...
"iphone去掉锁屏日期时间"这个主题旨在帮助用户优化锁屏界面,使其更加简洁,提升视觉效果。本教程将详细讲解如何在iPhone上移除锁屏上的日期和时间,让屏幕看起来更加干净、专业。 首先,我们需要了解的是,iOS...
另外,`NSCalendar`类可以帮助处理与日历相关的任务,如获取星期几、判断日期是否在某日期范围之内等。`NSTimeInterval`是一个双精度浮点数,表示秒数,常用于计算两个`NSDate`之间的差值。 总结起来,`NSDate`是...
在Android开发中,为了提供与iOS类似的用户体验,开发者有时会需要创建一个仿iPhone样式的日期时间选择器。本文将深入探讨如何在Android平台上实现这样一个功能,主要涉及Android自定义视图、DialogFragment以及时间...
在Android开发中,为了提供与iOS相似的用户体验,开发者经常需要实现类似iPhone样式的日期和时间选择器。这种选择器通常包含两个独立的部分:一个用于选择日期,另一个用于选择时间。在iOS中,这些选择器被称为`...
如题android 仿iphone滚动选择日期/时间 也是网上下载,然后稍微改动发上来的.. 可用.不要怪我心狠, 我也下了好几个才找到的..如果有下载过类似的日期选择demo,请慎重下载以免重复...
iPhone上的时间控件遵循苹果的iUI设计规范,提供了直观且一致的用户体验。在这个主题中,我们将深入探讨iPhone时间控件的使用、设计特点以及如何在应用中实现它。 1. **时间控件的设计** iPhone的时间控件呈现出...
在iOS应用开发中,创建一个仿iPhone日期选择的自定义控件是一项常见的需求。这个控件通常用于让用户方便地选取特定的日期和时间,比如在预订、设置提醒或记录事件时。在这里,我们将深入探讨如何实现这样一个功能...
`datePickerMode`属性用于设置日期选择器的模式,例如日期、时间和日期时间。 2. **日期格式化** 选择的日期和时间通常需要转换为字符串显示在界面上,这需要用到`NSDateFormatter`类。设置相应的日期和时间格式...
在iOS系统中,苹果的iPhone设备使用了一种独特的时间选择器,被称为"时间滑轮",它提供了直观且高效的方式来选择日期、时间或者其它数值。现在我们将深入探讨如何在Android平台上实现一个仿iPhone时间滑轮的功能。 ...
7. 数据绑定:在实际应用中,选择的日期和时间可能需要与数据模型绑定,这可以通过使用MVVM(Model-View-ViewModel)架构和数据绑定库实现。选择的日期和时间可以作为ViewModel的属性,View通过双向数据绑定直接反映...
在iOS应用开发中,苹果设备的用户界面设计和交互方式有着独特的风格,其中之一就是日期选择器(DatePicker)。这个组件在很多场景下都会被用到,比如设置生日、选择时间等。"仿Iphone日期选择器"是针对Android平台的...
它能够处理日期、时间或数值等预设选项的选择任务,为用户提供直观的滚动选择体验。尽管在测试中发现了一个在加载大量数据时出现的默认选择项错乱的小bug,该控件仍然被认定为具有学习与改进的价值,因为其背后的...
一个用于触摸设备(Android phones, iPhone, iPad, Galaxy Tab)的日期和时间选择器jQuery插件。可以让用户很方便的只需要滑动数字既可以选择日期。Mobiscroll作为一款jQuery日期插件可以让用户自定义主题,完全通过...
它通常由一个日历视图和一个时间选择器组成,用户可以通过滑动查看不同的月份,点击某一天来设定日期,同时提供一个月份内的快速选择选项。在Android中,我们可以使用`CalendarView`类作为基础,但它并不完全符合...
在iOS系统中,iPhone的锁屏界面是用户与设备交互的重要入口,其设计通常包括时间显示、日期、天气信息以及解锁滑块等元素。对于一些追求个性化或者希望简化锁屏界面的用户,可能会想要去除锁屏上的时间背景及滑块...
"类似iPhone的JS日期选择控件"是一个专题,旨在为网页应用提供与苹果iPhone设备上日期选择器相似的功能,提升用户体验。这样的控件通常是基于JavaScript实现,允许用户在网页上方便地选择日期,而无需离开当前页面或...
为了让时间轮显示实际的小时、分钟或日期,需要将数据模型与视图进行绑定。可以使用`MVVM`(Model-View-ViewModel)设计模式,创建一个ViewModel来存储和处理数据,视图则根据ViewModel的数据更新显示。 5. **用户...
首先,iPhone的激活时间是指该设备首次连接到iTunes或iCloud进行设置和激活的日期。这个信息对于判断设备的新旧程度以及是否被正常使用过非常有用。如果你刚购买了一台iPhone,你可以通过以下步骤查看激活时间: 1....