Iphone 从字符串设置nsdate值时出现问题

Iphone 从字符串设置nsdate值时出现问题,iphone,xcode,nsdate,nsdateformatter,Iphone,Xcode,Nsdate,Nsdateformatter,在日志中,我的起始日期为2010-05-01 04:45:33+0000,结束日期为2010-05-01 05:15:33+0000,而我的起始日期为2010-05-01 10:15:33+0000,结束日期为2010-05-01 10:45:33+0000,请尝试以下函数: NSDate *My_StartDate,*My_EndDate ; NSDateFormatter * df= [[NSDateFormatter alloc]init]; [df setDateFormat:@

在日志中,我的起始日期为2010-05-01 04:45:33+0000,结束日期为2010-05-01 05:15:33+0000,而我的起始日期为2010-05-01 10:15:33+0000,结束日期为2010-05-01 10:45:33+0000,请尝试以下函数:

    NSDate *My_StartDate,*My_EndDate ;
NSDateFormatter * df= [[NSDateFormatter alloc]init];
[df setDateFormat:@"dd/MM/yyyy hh:mm:ss"];
My_StartDate = [df dateFromString:@"01/05/2010 10:15:33"];
My_EndDate = [df dateFromString:@"01/05/2010 10:45:33"];
NSLog(@"%@",My_StartDate);
NSLog(@"%@",My_EndDate);
根据需要更改数据格式

如果有任何困难,请告诉我


干杯。

尝试以下功能:

    NSDate *My_StartDate,*My_EndDate ;
NSDateFormatter * df= [[NSDateFormatter alloc]init];
[df setDateFormat:@"dd/MM/yyyy hh:mm:ss"];
My_StartDate = [df dateFromString:@"01/05/2010 10:15:33"];
My_EndDate = [df dateFromString:@"01/05/2010 10:45:33"];
NSLog(@"%@",My_StartDate);
NSLog(@"%@",My_EndDate);
根据需要更改数据格式

如果有任何困难,请告诉我


干杯。

它显示的是GMT+4.30时间。它仅显示这样的时间。当您使用DateFormatter将该日期转换为字符串时,它会给出相同的日期(无论您希望的开始日期是01/05/2010 10:15:33,结束日期是01/05/2010 10:45:33)


然后,您将得到输出为01/05/2010 10:15:33,它显示的是GMT+4.30时间。它仅显示为这样。当您使用DateFormatter将该日期转换为字符串时,它会给出相同的日期(无论您想要哪个日期,开始日期为01/05/2010 10:15:33,结束日期为01/05/2010 10:45:33)


然后,您将获得2010年5月1日10:15:33的输出。这显示的日期遵循美国标准时间字符串,但由于这个原因,您在创建逻辑时不会遇到任何问题。另外

NSDateFormatter * dateformatter= [[NSDateFormatter alloc]init];
[dateformatter setDateFormat:@"dd/MM/yyyy hh:mm:ss"];
NSString *dat = [dateformatter stringfromDate:My_StartDate];
此格式使用12小时格式(表示下午2:03和凌晨2:03),日期对象从不使用上午和下午来显示日期对象值,但正确转换后,它将为您提供正确的日期和时间


如果您觉得有任何问题,请使用不同的语言环境。

这显示的是遵循美国标准时间字符串的日期,但由于这个原因,您在创建逻辑时不会遇到任何问题。另外

NSDateFormatter * dateformatter= [[NSDateFormatter alloc]init];
[dateformatter setDateFormat:@"dd/MM/yyyy hh:mm:ss"];
NSString *dat = [dateformatter stringfromDate:My_StartDate];
此格式使用12小时格式(表示下午2:03和凌晨2:03),日期对象从不使用上午和下午来显示日期对象值,但正确转换后,它将为您提供正确的日期和时间


如果您觉得有任何问题,请使用不同的语言环境。

您可能希望在此处将日期格式化程序的时区设置为
GMT
。使用

[df setDateFormat:@"dd/MM/yyyy hh:mm:ss"];

在执行
dateFromString:
调用之前。这将为您提供所需信息。

您可能需要在此处将日期格式化程序的时区设置为
GMT
。使用

[df setDateFormat:@"dd/MM/yyyy hh:mm:ss"];

在执行
dateFromString:
调用之前。这将为您提供所需信息。

只需在代码中更新以下内容:

我可能会说你的时间是24小时格式的,所以在那个时候你需要使用这个…除了这个,你需要设置时区

请按照此链接查找所有区域:


你完了;)

只需在代码中的此处进行更新:

我可能会说你的时间是24小时格式的,所以在那个时候你需要使用这个…除了这个,你需要设置时区

请按照此链接查找所有区域:


你完了;)

你能告诉我你到底想要什么吗?