/*
* @DO 获取指定日期的农历日期
* @param date [指定日期]
* @return (NSString)[指定日期的农历字符串]
*/
+(NSString*)getChineseCalendarWithDate:(NSDate *)date{
//定义农历数据:
NSArray *chineseYears = [NSArray arrayWithObjects:
@"甲子", @"乙丑", @"丙寅", @"丁卯", @"戊辰", @"己巳", @"庚午", @"辛未", @"壬申", @"癸酉",
@"甲戌", @"乙亥", @"丙子", @"丁丑", @"戊寅", @"己卯", @"庚辰", @"辛己", @"壬午", @"癸未",
@"甲申", @"乙酉", @"丙戌", @"丁亥", @"戊子", @"己丑", @"庚寅", @"辛卯", @"壬辰", @"癸巳",
@"甲午", @"乙未", @"丙申", @"丁酉", @"戊戌", @"己亥", @"庚子", @"辛丑", @"壬寅", @"癸丑",
@"甲辰", @"乙巳", @"丙午", @"丁未", @"戊申", @"己酉", @"庚戌", @"辛亥", @"壬子", @"癸丑",
@"甲寅", @"乙卯", @"丙辰", @"丁巳", @"戊午", @"己未", @"庚申", @"辛酉", @"壬戌", @"癸亥", nil];
NSArray *chineseMonths=[NSArray arrayWithObjects:
@"正月", @"二月", @"三月", @"四月", @"五月", @"六月",
@"七月", @"八月", @"九月", @"十月", @"冬月", @"腊月", nil];
NSArray *chineseDays=[NSArray arrayWithObjects:
@"初一", @"初二", @"初三", @"初四", @"初五", @"初六", @"初七", @"初八", @"初九", @"初十",
@"十一", @"十二", @"十三", @"十四", @"十五", @"十六", @"十七", @"十八", @"十九", @"二十",
@"廿一", @"廿二", @"廿三", @"廿四", @"廿五", @"廿六", @"廿七", @"廿八", @"廿九", @"三十", nil];
NSCalendar *localeCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSChineseCalendar];
unsigned unitFlags = NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit;
NSDateComponents *localeComp = [localeCalendar components:unitFlags fromDate:date];
NSString *y_str = [chineseYears objectAtIndex:localeComp.year-1];
NSString *m_str = [chineseMonths objectAtIndex:localeComp.month-1];
NSString *d_str = [chineseDays objectAtIndex:localeComp.day-1];
NSString *chineseCal_str =[NSString stringWithFormat: @"%@_%@_%@",y_str,m_str,d_str];
[localeCalendar release];
return chineseCal_str;
}
分享到:
相关推荐
而农历,又称阴历,是一种与月亮盈亏周期相关的日历系统,通常在中国、韩国、越南等亚洲国家使用。农历一年有12个月,每个月约29.5天,因此农历年通常比公历年短。 要实现农历与公历之间的转换,我们可以使用第三方...
在实际应用中,可能需要引入第三方库,如`ChineseLunarCalendar`,来获取农历日期的详细信息。 总之,iOS开发者可以通过`Calendar`、`DateComponents`和`DateFormatter`这三个核心组件来处理日期,获取公历日期的年...
对于农历,我们可能需要获取年、月、日等信息。 3. **UICollectionView**:在iOS中,`UICollectionView`是一个强大的控件,用于展示网格布局的数据。在这个示例中,它可能被用来显示一个月的日历视图,每个单元格...
- **类方法**:用于创建数组或获取预定义数组的方法。 - **实例方法**:允许对数组进行操作的方法,如添加元素、删除元素等。 - **常量**:定义了一些常用的常量值,比如错误代码等。 - **NSAssertionHandler 类...
iOS的`Foundation`框架中并没有内置农历支持,但可以通过第三方库如`ChineseCalendar`或者自定义算法来实现农历与公历的转换。通常,我们需要将公历日期转化为农历日期,同时考虑到农历的闰月和节气,确保显示的准确...
在iOS开发中,创建一个日历应用并集成农历和节日显示功能是一项常见需求。这个名为“ios-日历(附带显示农历).zip”的压缩包文件可能包含了一个实现这一功能的示例项目,名为“BQLCalendar”。下面将详细讨论相关...
3. 实现代理方法,如`- (NSString *)calendar:(JTCalendarManager *)calendar titleForDate:(NSDate *)date`返回日期标题,可以在此处理农历转换。 六、实现点击和长按手势 1. 添加手势识别器,如...
可以使用JavaScript编写一个类似的`LunarDate`对象,通过AJAX从服务器获取农历数据,或者在前端进行计算。JavaScript中的`Date`对象不支持农历,因此需要自定义函数来处理农历与公历的转换。这通常涉及JavaScript的...
由于生肖是以农历的子年(即阴历的午夜0点,大致对应公历的1月21日或2月4日)为起点,我们可以通过以下步骤进行计算: 1. 将输入的年份减去1900,因为1900年是公历中的第一个“鼠”年。 2. 取结果除以12,得到的商...
开发者可以通过设置不同的历法(如公历、农历)来处理不同类型的节日和节气。 5. **NSDateComponents对象**:通过NSCalendar,可以将日期分解成NSDateComponents对象,包含年、月、日、小时、分钟等组件。这有助于...
在iOS平台上,开发一款日历应用,特别是具备阳历与农历切换功能的应用,涉及到一系列的iOS编程技术。这里,我们主要关注"ios-Calendar.zip"这个压缩包中的"CalendarDemo"项目,它很可能是用于演示如何实现这一功能的...
Android仿ios日历效果 1 可获取选择日期 2 自动显示月份 3 可返回当天 4 含有农历 可扩展显示节日 节气等 5 可自定义查询与日期相关的数据 代码中已经注释掉相关代码 可自行扩展查询部分
1. **创建日历对象**:在Objective-C代码中,通过`[NSCalendar currentCalendar]`获取当前系统日历,或者使用`+[NSCalendar calendarWithIdentifier:]`创建特定类型的日历。 2. **设置日历属性**:`NSCalendar`对象...
NSArray的实例方法允许开发者查询数组内容,例如获取对象、获取数组的大小以及遍历数组元素等。NSArray遵循的协议主要用于扩展其功能,例如可枚举协议。 2. NSAssertionHandler类:NSAssertionHandler类提供了一个...
`NSCalendar`用于处理日期和时间,而`NSDateComponents`可以用来获取日期的各个部分,如年、月、日。通过设置`NSCalendar`的历法类型,我们可以根据公历或农历计算年龄和星座。 在Swift中,虽然没有直接的选择器...
标题中的“iPhone全系列自动匹配天气锁屏主题ios7-8.x”指的是为运行iOS 7到8.x系统的...为了实现这样的功能,开发者可能需要获取和解析天气数据,同时还需要对iOS系统的锁屏界面有深入的理解,以便于修改和适配。
2. **日历组件**:TapkuLibrary的日历视图(TKCalendarMonthView)提供了一个全功能的月份视图,可以显示日期、事件标记,并支持多种日历格式,如公历、农历等。开发者可以轻松地将事件数据绑定到日历上,实现日程...
这些接口可能包括初始化农历日期对象、进行日期转换、获取农历节假日等。例如,一个API可能是`convertSolarToLunar(solarYear, solarMonth, solarDay)`,用于将公历日期转换为农历日期;另一个可能是`...
- `NSCalendar`可以用于设置日历的样式,如公历、阴历等,以及日期的比较,如判断某日期是否在范围内。 3. **事件处理**: - 监听`UIDatePicker`的`valueChanged`事件,当用户选择新的日期时更新对应日期字段,并...