Reputation: 900
Hi every one i need to keep event to store in default calendar.so i need to convert the given date string into Nsdate.Here i am not getting correct format..could any help....and i am giving my code below...
my date string is //startdate--format---November 19 2011 9:30 PM
in this format..i have written like this
NSDateFormatter *dateformatter=[[NSDateFormatter alloc]init];
[dateformatter setDateFormat:@"MMMM dd yyyy H:m a"];
NSLog(@"start date is %@",startdate);
NSDate *dates=[[NSDate alloc]init];
dates=[dateformatter dateFromString:startdate];
NSLog(@"date is %@",dates);
and i am getting ouput like this i need to add it for event.i am not getting exact time...date is 2011-11-19 07:00:00 +0000
Upvotes: 0
Views: 357
Reputation: 900
At last i Found the solution for the error .The Code is below
-(IBAction)notifyButtonpressed:(id)sender { NSLog(@"notify button pressed");
EKEventStore *eventStore = [[EKEventStore alloc] init];
EKEvent *event = [EKEvent eventWithEventStore:eventStore];
event.title=location;
//startdate--format---November 19 2011 9:30 PM
NSDateFormatter *dateformatter=[[NSDateFormatter alloc]init];
NSDate *date=[NSDate date];
[dateformatter setDateFormat:@"Z"];
NSString *timezones=[dateformatter stringFromDate:date];
NSLog(@"time zone is %@",timezones);
NSMutableString *new_start=[[NSMutableString alloc]init];
[new_start appendString:[NSString stringWithFormat:@"%@ %@",startdate,timezones]];
NSLog(@"after0000-----append is %@",new_start);
[dateformatter setDateFormat:@"MMMM dd yyyy hh:mm a Z"];
NSLog(@"start date is %@",startdate);
NSDate *startdates = [dateformatter dateFromString:new_start];
NSMutableString *new_start1=[[NSMutableString alloc]init];
[new_start1 appendString:[NSString stringWithFormat:@"%@ %@",enddate,timezones]];
NSDate *enddates=[dateformatter dateFromString:new_start1];
NSLog(@"-------date is %@ ,%@------",startdates,new_start1);
event.title=Title;
NSLog(@"start date is %@--",startdates);
event.startDate =[startdates initWithTimeInterval:600 sinceDate:startdates];
event.endDate=enddates;
[event setCalendar:[eventStore defaultCalendarForNewEvents]];
NSLog(@"event start date is %@ and enddate is %@",event.startDate,event.endDate);
NSError *err;
[eventStore saveEvent:event span:EKSpanThisEvent error:&err];
if(!err)
{
UIAlertView *alertview=[[UIAlertView alloc]initWithTitle:Title message:@"Event Added successfully " delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
[alertview show];
[alertview release];
}
NSLog(@"error is %@",err);
}
Upvotes: 0
Reputation: 17877
Try this (that works fine for me):
NSDateFormatter *dateformatter=[[NSDateFormatter alloc]init];
[dateformatter setDateFormat:@"MMMM dd yyyy h:m a"];
NSLog(@"start date is %@",startdate);
NSDate *dates = [dateformatter dateFromString:startdate];
NSLog(@"date is %@",dates);
If you want to set specific time zone then just use method setTimeZone
:
[dateformatter setTimeZone:[NSTimeZone timeZoneWithName:@"Europe/Moscow"]];
Upvotes: 2