girish
girish

Reputation: 900

How to add event to default calendar

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

Answers (2)

girish
girish

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

Nekto
Nekto

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

Related Questions