如何在 IOS 中将 NSString 转换为 NSDate?
How to convert NSString to NSDate in IOS?
我正在构建一个需要将 NSString 转换为 NSDate 的应用程序。我用谷歌搜索并发现了很多 link 下面提到的 SOF -
Convert NSString to NSDate
Converting can NSString to NSDate format in objective C
我已经使用了那里给出的答案,但我仍然面临的问题是在下面逐步解释。
我取了 NSString *StringDate = @"01:00:00"; // 我已经在 NSString 变量中声明了时间。
我使用了上面提到的转换方法link并将转换后的值存储到NSDate变量中。
当我是NSLog的时候NSDate变量。我的 logcat 中显示“19:30:00”。虽然预期的结果应该是“01:00:00”。
这是我正在使用的代码之一
NSString *dateString = @"01:00:00";
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
// this is imporant - we set our input date format to match our input string
// if format doesn't match you'll get nil from your string, so be careful
[dateFormatter setDateFormat:@"hh:mm:ss"];
NSDate *dateFromString = [[NSDate alloc] init];
// voila!
dateFromString = [dateFormatter dateFromString:dateString];
这可能是正确的日期,但打印在不同的时区。我在这里发布了更长的解释:
Unexpected value from NSDate
顺便说一句:在
NSDate *dateFromString = [[NSDate alloc] init];
dateFromString = [dateFormatter dateFromString:dateString];
[[NSDate alloc] init]
完全没有意义,因为您在下一行分配了一个 NSDate
的实例。
-(NSString *)geTimeFromString:(NSString *)string
{
NSString * dateString = [NSString stringWithFormat: @"%@",string];
NSDateFormatter* dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"hh:mm:ss"];
NSDate* myDate = [dateFormatter dateFromString:dateString];
[dateFormatter setDateFormat:@"hh:mm a"];
[dateFormatter setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"]];
NSString *stringFromTime = [dateFormatter stringFromDate:myDate];
return stringFromTime;
}
试试这个
尝试使用此方法将 NSString 转换为 NSDate :-
- (NSDate*) convertStringToDate
{
NSString* dateStr = @"20/05/2015";
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"dd/MM/yyyy"];
NSDate *date = [dateFormat dateFromString:dateStr];
return date;
}
我正在构建一个需要将 NSString 转换为 NSDate 的应用程序。我用谷歌搜索并发现了很多 link 下面提到的 SOF -
Convert NSString to NSDate
Converting can NSString to NSDate format in objective C
我已经使用了那里给出的答案,但我仍然面临的问题是在下面逐步解释。
我取了 NSString *StringDate = @"01:00:00"; // 我已经在 NSString 变量中声明了时间。
我使用了上面提到的转换方法link并将转换后的值存储到NSDate变量中。
当我是NSLog的时候NSDate变量。我的 logcat 中显示“19:30:00”。虽然预期的结果应该是“01:00:00”。
这是我正在使用的代码之一
NSString *dateString = @"01:00:00";
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
// this is imporant - we set our input date format to match our input string
// if format doesn't match you'll get nil from your string, so be careful
[dateFormatter setDateFormat:@"hh:mm:ss"];
NSDate *dateFromString = [[NSDate alloc] init];
// voila!
dateFromString = [dateFormatter dateFromString:dateString];
这可能是正确的日期,但打印在不同的时区。我在这里发布了更长的解释:
Unexpected value from NSDate
顺便说一句:在
NSDate *dateFromString = [[NSDate alloc] init];
dateFromString = [dateFormatter dateFromString:dateString];
[[NSDate alloc] init]
完全没有意义,因为您在下一行分配了一个 NSDate
的实例。
-(NSString *)geTimeFromString:(NSString *)string
{
NSString * dateString = [NSString stringWithFormat: @"%@",string];
NSDateFormatter* dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"hh:mm:ss"];
NSDate* myDate = [dateFormatter dateFromString:dateString];
[dateFormatter setDateFormat:@"hh:mm a"];
[dateFormatter setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"]];
NSString *stringFromTime = [dateFormatter stringFromDate:myDate];
return stringFromTime;
}
试试这个
尝试使用此方法将 NSString 转换为 NSDate :-
- (NSDate*) convertStringToDate
{
NSString* dateStr = @"20/05/2015";
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"dd/MM/yyyy"];
NSDate *date = [dateFormat dateFromString:dateStr];
return date;
}