Estoy buscando una forma de obtener todas las vacaciones en Estados Unidos como una matriz de NSDate
s. ¿Hay alguna manera de implementar eso?Lista de todas las vacaciones americanas como NSDates
6
A
Respuesta
2
- Here encontrará RSS-feeds con las vacaciones. No muestra el año, pero en los documentos encontrará información sobre cómo cambiar los intervalos de fechas.
- Descárguelo. Sugeriría ASIHTTPRequest para esa tarea.
analiza la fuente RSS. puede hacerlo mediante un análisis XML normal, o puede usar un analizador especializado. MWFeedParser sería una opción. - Guarde las fechas. ya sea mediante el uso de CoreData, o Event Kit Framework
5
Si solo desea feriados federales en EE. UU., escribí este método. Sin embargo, podría usar estas técnicas para calcular cualquier vacación.
-(NSArray *)getUSHolidyas{
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
formatter.dateFormat = @"yyyy";
NSString *year = [formatter stringFromDate:[NSDate date]];
formatter.dateFormat = @"M/d/yyyy";
//Constant Holidays
NSDate *newYearsDay = [formatter dateFromString:[NSString stringWithFormat:@"1/1/%@",year]]; //Use next year for the case where we are adding days near end of december.
NSDate *indDay = [formatter dateFromString:[NSString stringWithFormat:@"7/4/%@",year]];
NSDate *vetDay = [formatter dateFromString:[NSString stringWithFormat:@"11/11/%@",year]];
NSDate *xmasDay = [formatter dateFromString:[NSString stringWithFormat:@"12/25/%@",year]];
//Variable Holidays
NSInteger currentYearInt = [[[NSCalendar currentCalendar]
components:NSYearCalendarUnit fromDate:[NSDate date]] year];
NSDate *mlkDay = [self getTheNth:3 occurrenceOfDay:2 inMonth:1 forYear:currentYearInt];
NSDate *presDay = [self getTheNth:3 occurrenceOfDay:2 inMonth:2 forYear:currentYearInt];
NSDate *memDay = [self getTheNth:5 occurrenceOfDay:2 inMonth:5 forYear:currentYearInt]; // Let's see if there are 5 Mondays in May
NSInteger month = [[[NSCalendar currentCalendar] components:NSYearCalendarUnit fromDate:memDay] month];
if (month > 5) { //Check that we are still in May
memDay = [self getTheNth:4 occurrenceOfDay:2 inMonth:5 forYear:currentYearInt];
}
NSDate *labDay = [self getTheNth:1 occurrenceOfDay:2 inMonth:9 forYear:currentYearInt];
NSDate *colDay = [self getTheNth:2 occurrenceOfDay:2 inMonth:10 forYear:currentYearInt];
NSDate *thanksDay = [self getTheNth:4 occurrenceOfDay:5 inMonth:11 forYear:currentYearInt];
return @[newYearsDay,mlkDay,presDay,memDay,indDay,labDay,colDay,vetDay,thanksDay,xmasDay];
}
-(NSDate *)getTheNth:(NSInteger)n occurrenceOfDay:(NSInteger)day inMonth:(NSInteger)month forYear:(NSInteger)year{
NSDateComponents *dateComponents = [[NSDateComponents alloc] init];
dateComponents.year = year;
dateComponents.month = month;
dateComponents.weekday = day; // sunday is 1, monday is 2, ...
dateComponents.weekdayOrdinal = n; // this means, the first of whatever weekday you specified
return [[NSCalendar currentCalendar] dateFromComponents:dateComponents];
}
Cuestiones relacionadas
- 1. Lista de todas las confirmaciones de git?
- 2. lista navigator.language de todas las lenguas
- 3. Obtener lista de todas las aplicaciones instaladas
- 4. Servicio web nacional de vacaciones
- 5. Comparación de NSDates
- 6. Comparar dos NSDates
- 7. Diferencia entre dos NSDates
- 8. Fecha de negocios/manejo de vacaciones
- 9. clasificar un NSArray de NSDates
- 10. Lista de todas las clases de dominio en Grails
- 11. ¿Cómo obtener una lista de todas las NSWindow abiertas desde todas las aplicaciones en ejecución?
- 12. Extraer todas las claves de una lista de diccionarios
- 13. ¿Lista completa de todas las carpetas de recursos de Android?
- 14. Common Lisp: obtener todas las claves de una tabla hash dada como una lista
- 15. NSFecha entre dos NSDates dados
- 16. Python: todas las combinaciones posibles de la lista "dinámica"
- 17. Vacaciones: ¿hay una implementación de Java?
- 18. obteniendo todas las claves para un mapa como $ _POST
- 19. MongoDB: ¿Obtener la lista de todas las bases de datos?
- 20. Imprimir la lista de TODAS las variables de entorno
- 21. Lista de todas las posibles excepciones de SoapServer
- 22. Lista de todas las tablas en la base de datos
- 23. Lista de todas las imágenes de fondo en DOM
- 24. Todas las combinaciones de una lista de listas
- 25. Obtención de la lista de todas las pantallas Xorg
- 26. Lista de sobrescritura de datos en todas las posiciones
- 27. Windows: ¿cómo obtener una lista de todas las ventanas visibles?
- 28. Obtener una matriz de futuros NSDates
- 29. Generar todas las permutaciones de todas las longitudes
- 30. Haciendo todas las combinaciones posibles de una lista en python
FYI, dijo que el enlace RSS es ahora obsoleto (a partir del 19 de febrero de 2015). –