从nsdate中分别获取年月日的代码写法(iOS)

这篇博客分享了如何在iOS中使用NSDate和NSDateFormatter来获取日期的年、月、日。通过详细的代码注释和标记,作者鼓励读者动手尝试,以深入理解这些编程概念。
摘要由CSDN通过智能技术生成

    以前一直看别人的博客,由于自学所以一直没敢献丑,现在经过系统的学习加上一些工作的经历,感觉时机成熟,愿我的博客可以帮到当初的"我"!

    只要在main中就可以实现,多动手尝试,看是永远也不会理解的!

#import <Foundation/Foundation.h>


int main(int argc, const char * argv[]) {
    @autoreleasepool {
#pragma mark - 输出完整的年份
#if 0
    NSDateFormatter *formatter = [[NSDateFormatter alloc]init];
        /* y: 表示年份 */
    [formatter setDateFormat:@"yyyy"];/* 或者 setDateFormat:@"yyyy" */
    NSString *str = [formatter stringFromDate:[NSDate date]];
    NSLog(@"%@", str);

#endif


#pragma mark - 输出年后两位
#if 0
        NSDateFormatter *formatter = [[NSDateFormatter alloc]init];
        [formatter setDateFormat:@"yy"];
        NSString *str = [formatter stringFromDate:[NSDate date]];
        NSLog(@"%@", str);
#endif


#pragma mark - 输出月份

#if 0
        NSDateFormatter *formatter = [[NSDateFormatter alloc]init];
     
iOS Objective-C获取用户的步数通常需要通过HealthKit(HK)框架,因为这个框架允许应用程序访问设备传感器的数据,包括运动数据。以下是一个简单的步骤: 1. 首先,在Info.plist文件添加必要的权限描述: ```xml <key>NSHealthShareUsageDescription</key> <string>应用需要访问您的健康数据来记录步数。</string> <key>NSHealthUpdateUsageDescription</key> <string>为了持续跟踪步数,应用需要定期更新数据。</string> ``` 2. 引入HealthKit框架: ```objective-c #import <HealthKit/HealthKit.h> ``` 3. 创建`HKHealthStore`实例并请求权限: ```objective-c HKHealthStore *healthStore = [[HKHealthStore alloc] init]; [healthStore requestAuthorizationToShareTypes:@[HKObjectTypeStepCount] readTypes:@[HKObjectTypeStepCount] completion:^(BOOL granted, NSError * _Nullable error) { if (granted) { // 授权成功,可以开始获取步数 } else { // 没有授权,处理错误 } }]; ``` 4. 实现获取步数的方法: ```objective-c - (void)getStepsForDate:(NSDate *)startDate endDate:(NSDate *)endDate { NSPredicate *predicate = [HKQuery predicateForSamplesWithStartDate:endDate endDate:startDate options:HKSampleQueryOptionIncludeTypeIdentifiers]; HKQuantityType *stepCountType = [HKQuantityType quantityTypeForIdentifier:HKQuantityTypeIdentifierStepCount]; HKSampleQuery *query = [[HKSampleQuery alloc] initWithType:stepCountType predicate:predicate limit:HKObjectQueryNoLimit sortDescriptors:nil resultsHandler:^(HKSampleQuery *query, NSArray<__kindof HKSample *> *results, NSError *error) { if (error) { NSLog(@"Error getting step count: %@", error); } else { for (HKQuantitySample *sample in results) { HKQuantity *quantity = sample.quantity; double steps = [quantity doubleValueForUnit:[HKUnit stepCountUnit]]; // 使用steps值 } } }]; [healthStore executeQuery:query]; } ``` 5. 调用`getStepsForDate:`方法获取特定日期范围内的步数。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值