选择日期范围,同时要判断选择的开始日期和结束日期的选择是否正确
2013-03-07 19:41
615 查看
选择日期范围,同时要判断选择的开始日期和结束日期的选择是否正确
//将字符串转为日期,为下一步比较
- (NSDate*)stringToDate: (NSString*)string
{
NSDateFormatter* dateFormatter = [ [ NSDateFormatter alloc ] init ];
[ dateFormatter setDateFormat: @"yyyy-MM-dd" ];
NSDate* date = [ dateFormatter dateFromString: string ];
// NSLog( @"date %@" , date );
[ dateFormatter release ];
return date;
}
//++++++++++++++++++++++++查找按钮等方法++++++++++++++++++++++++++++++++++++//
//点击查找按钮后
- (void)searchMessage
{
//================ 先隐藏未隐藏的时间选择器 =====================//
[ UIView beginAnimations: nil context: nil ];
[ UIView setAnimationDuration: 0.3 ];
//隐藏工具条
CGRect toolbarFrame = self.navigationController.toolbar.frame;
toolbarFrame.origin.y =
self.view.bounds.size.height + 65 ;
self.navigationController.toolbar.frame = toolbarFrame;
//隐藏完成按钮
UIBarButtonItem* spaceButton = [ [ [ UIBarButtonItem alloc ]
initWithBarButtonSystemItem: UIBarButtonSystemItemFixedSpace
target: nil action: nil ] autorelease ];
[ self setToolbarItems: [ NSArray arrayWithObject: spaceButton ] animated: YES ];
//隐藏日期选择器
datePicker_.frame = toolbarFrame;
[ UIView commitAnimations ];
//==========================================================//
if ( [ beginDateTextField_.text length ] && [ endDateTextField_.text length ] )
{
//********** 时间比较 *************************//
NSDate* beginDate = [ self stringToDate: beginDateTextField_.text ];
NSDate* endDate = [ self stringToDate: endDateTextField_.text ];
//如果开始日期比结束日期前的话,才执行下一步,否则显示警告框
if ( NSOrderedAscending == [ beginDate compare: endDate ] )
{
//执行下一步
............
}
else //日期范围错误
{
UIAlertView* errorAlert = [ [ UIAlertView alloc ] initWithTitle: @"选择日期范围错误" message: @"请选择正确日期范围" delegate: self cancelButtonTitle: @"确定" otherButtonTitles: nil , nil ];
[ errorAlert show ];
[ errorAlert release ];
}
//*******************************************//
}
else //未选择日期范围,存在未选日期
{
UIAlertView* errorAlert = [ [ UIAlertView alloc ] initWithTitle: @"未选择日期范围" message: @"请选择日期范围" delegate: self cancelButtonTitle: @"确定" otherButtonTitles: nil , nil ];
[ errorAlert show ];
[ errorAlert release ];
}
}
//将字符串转为日期,为下一步比较
- (NSDate*)stringToDate: (NSString*)string
{
NSDateFormatter* dateFormatter = [ [ NSDateFormatter alloc ] init ];
[ dateFormatter setDateFormat: @"yyyy-MM-dd" ];
NSDate* date = [ dateFormatter dateFromString: string ];
// NSLog( @"date %@" , date );
[ dateFormatter release ];
return date;
}
//++++++++++++++++++++++++查找按钮等方法++++++++++++++++++++++++++++++++++++//
//点击查找按钮后
- (void)searchMessage
{
//================ 先隐藏未隐藏的时间选择器 =====================//
[ UIView beginAnimations: nil context: nil ];
[ UIView setAnimationDuration: 0.3 ];
//隐藏工具条
CGRect toolbarFrame = self.navigationController.toolbar.frame;
toolbarFrame.origin.y =
self.view.bounds.size.height + 65 ;
self.navigationController.toolbar.frame = toolbarFrame;
//隐藏完成按钮
UIBarButtonItem* spaceButton = [ [ [ UIBarButtonItem alloc ]
initWithBarButtonSystemItem: UIBarButtonSystemItemFixedSpace
target: nil action: nil ] autorelease ];
[ self setToolbarItems: [ NSArray arrayWithObject: spaceButton ] animated: YES ];
//隐藏日期选择器
datePicker_.frame = toolbarFrame;
[ UIView commitAnimations ];
//==========================================================//
if ( [ beginDateTextField_.text length ] && [ endDateTextField_.text length ] )
{
//********** 时间比较 *************************//
NSDate* beginDate = [ self stringToDate: beginDateTextField_.text ];
NSDate* endDate = [ self stringToDate: endDateTextField_.text ];
//如果开始日期比结束日期前的话,才执行下一步,否则显示警告框
if ( NSOrderedAscending == [ beginDate compare: endDate ] )
{
//执行下一步
............
}
else //日期范围错误
{
UIAlertView* errorAlert = [ [ UIAlertView alloc ] initWithTitle: @"选择日期范围错误" message: @"请选择正确日期范围" delegate: self cancelButtonTitle: @"确定" otherButtonTitles: nil , nil ];
[ errorAlert show ];
[ errorAlert release ];
}
//*******************************************//
}
else //未选择日期范围,存在未选日期
{
UIAlertView* errorAlert = [ [ UIAlertView alloc ] initWithTitle: @"未选择日期范围" message: @"请选择日期范围" delegate: self cancelButtonTitle: @"确定" otherButtonTitles: nil , nil ];
[ errorAlert show ];
[ errorAlert release ];
}
}
相关文章推荐
- 日期时间段选择 js判断开始日期是否在结束日期之前,且开始日期和结束日期都不能超过当日的日期
- laydate范围选择,结束时间大于开始时间同时大于当前时间
- 判断当前日期是否在指定的开始日期和结束日期之间
- bootstrap-datepicker限定可选时间范围 一、应用场景 实际应用中可能会根据日期字段查询某个日期范围内的数据,则需要对日期选择器可选时间进行限制, 如:开始时间不能大于结束时间,
- js 日期选择判断结束时间大于开始时间
- boostrap的日期选择:datetimepicker 做 开始时间与 结束时间的判断,开始时间小于结束时间
- Python 判断日期大小( 判断开始时间是否早于结束时间)
- JS时间戳比较大小:对于一组时间戳(开始时间~结束时间)和另一组时间戳进行比较,用于判断被比较时间戳组是否在要求范围内
- C#正则表达式判断输入日期格式是否正确
- easyui datebox日期控制扩展选择日期小于等于当前日期,开始日期小于等于结束日期
- php计算一年多少周,同时计算出这一周的开始时间和结束时间(可选返回时间戳或日期)
- laydate日期插件案例,结束时间小于开始时间不可选择
- C#正则表达式判断输入日期格式是否正确
- Java正则判断日期格式是否正确的方法示例
- C#正则表达式判断输入日期格式是否正确
- 输入一个日期判断是否正确的几种方法
- (转) 判断某日期是否属于本周范围内
- 在oracle中怎么判断一个日期是否在一定时间范围内
- ExtJS学习之判断开始时间是否早于结束时间
- js判断输入的IP是否合法,IP范围是否正确