문제

Seems like a simple thing but I can't seem to find a way to do it.

It would be great to see a couple different methods.

도움이 되었습니까?

해결책

@Chuck's answer is correct, and lead me to the following code. Thought I'd share:

NSDateComponents *comps = [[NSDateComponents alloc] init];
[comps setDay:10];
[comps setMonth:10];
[comps setYear:2010];
NSDate *date = [[NSCalendar currentCalendar] dateFromComponents:comps];

다른 팁

You can use this

NSString *dateString = @"03-Sep-11";
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
dateFormatter.dateFormat = @"dd-MMM-yy";
NSDate *date = [dateFormatter dateFromString:dateString];

Hope this will help you out.

SQL Management Studio에서 스크립트 생성을 사용하고 "스크립트 인덱스"옵션 (고급 스크립팅 옵션 아래에서) 을 선택하십시오.

Swift Examples

Examples are often the easiest way to learn. Here are a few examples.

Now

This one is the easiest.

let currentDateTime = Date()

February 20, 2017

// Specify date components
var dateComponents = DateComponents()
dateComponents.year = 2017
dateComponents.month = 2
dateComponents.day = 20

// Create date from components
let userCalendar = Calendar.current // user calendar
let dateThisPostWasUpdated = userCalendar.date(from: dateComponents)

April 1, 1976

// Specify date components
var dateComponents = DateComponents()
dateComponents.year = 1976
dateComponents.month = 4
dateComponents.day = 1

// Create date from components
let userCalendar = Calendar.current // user calendar
let appleFoundedDate = userCalendar.date(from: dateComponents)

Need more details...?

There are other ways to create dates, too. If you want to learn those, as well as how to display a date, then see my fuller answer.

See the documentation for NSDate. You can use the dateFromString: method of NSDateFormatter or the dateFromComponents: method of NSCalendar.

두 테이블을 모두 데이터베이스로 가져 와서 사용하는 것이 가장 쉬운 방법 일 것입니다.

다른 옵션은 데이터베이스로 가져 오지 않고 두 개의 SQL 파일을 수동으로 구문 분석하는 것입니다.실제로는 실제로 바로 그 쪽에서 정확히 수행 할 라이브러리를 만들었습니다.

It is ridiculous, isn't it ?

Mid-2013 and Apple still hasn't provided a simple way to set a NSDate value.

During my current iPad project, I couldn't believe I had to stop productivity for a while to write my own helper class to get the Year value from an NSDate. I mean, come on, this is basic stuff.

Anyway, here's the helper class I used in my project, to convert a string into an NSDate value :

@implementation DateHelper

+(NSDate*)parseDateString:(NSString *)dateString
{
    NSDateFormatter *rfc3339TimestampFormatterWithTimeZone = [[NSDateFormatter alloc] init];
    [rfc3339TimestampFormatterWithTimeZone setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"]];
    [rfc3339TimestampFormatterWithTimeZone setDateFormat:@"MMM dd, yyyy"];

    NSDate *theDate = nil;
    NSError *error = nil;
    if (![rfc3339TimestampFormatterWithTimeZone getObjectValue:&theDate forString:dateString range:nil error:&error]) {
        NSLog(@"Date '%@' could not be parsed: %@", dateString, error);
    }

    return theDate;
}

@end

Using this code, you could set an NSDate value using something like:

NSDate* date = [DateHelper parseDateString:@"Jul 16, 2013"];

Note: this function was based on code taken from here: https://stackoverflow.com/a/3968411/391605

My solution had been to use the following code, but I found that sometimes, it just wouldn't parse, and would return nil.

//  Take a date string in the format "Oct 23, 2013", and convert it into a NSDate value
//  THIS DOESN'T WORK !  DON'T TRUST THIS CODE !!
NSDateFormatter* formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"MMM dd, yyyy"];
[formatter setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0]];

NSDate* date = [formatter dateFromString:dateString];

I remember it failed miserably on "Oct 12, 2012"... which is why I gave up and used the more complicated "parseDateString" function shown above.

My point is... be careful.

Some of the very-basic NSDate functions just don't work properly...

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top