diff --git a/RCTAppleHealthKit/RCTAppleHealthKit+Queries.m b/RCTAppleHealthKit/RCTAppleHealthKit+Queries.m index 9bf9c4f8d1d27d2c3d0552799ebc58b55bd483b1..acc20be74383dbfc1486363787f4de6e7fc37913 100644 --- a/RCTAppleHealthKit/RCTAppleHealthKit+Queries.m +++ b/RCTAppleHealthKit/RCTAppleHealthKit+Queries.m @@ -527,8 +527,8 @@ HKQuantity *quantity = sample.quantity; double value = [quantity doubleValueForUnit:unit]; - NSString *startDateString = [RCTAppleHealthKit buildISO8601StringFromDate:sample.startDate]; - NSString *endDateString = [RCTAppleHealthKit buildISO8601StringFromDate:sample.endDate]; + int startDateTimestamp = [RCTAppleHealthKit buildTimestampFromDate:sample.startDate]; + int endDateTimestamp = [RCTAppleHealthKit buildTimestampFromDate:sample.endDate]; NSString *deviceName = sample.device.name ? sample.device.name : @""; NSString *deviceManufacturer = sample.device.manufacturer ? sample.device.manufacturer : @""; @@ -552,8 +552,8 @@ NSDictionary *elem = @{ @"value" : @(value), - @"startDate" : startDateString, - @"endDate" : endDateString, + @"startDate" : @(startDateTimestamp), + @"endDate" : @(endDateTimestamp), @"deviceName" : deviceName, @"deviceManufacturer" : deviceManufacturer, @"deviceHardware" : deviceHardwareVer, @@ -619,13 +619,13 @@ dispatch_async(dispatch_get_main_queue(), ^{ for (HKCorrelation *sample in sampleObjects) { - NSString *startDateString = [RCTAppleHealthKit buildISO8601StringFromDate:sample.startDate]; - NSString *endDateString = [RCTAppleHealthKit buildISO8601StringFromDate:sample.endDate]; - + int startDateTimestamp = [RCTAppleHealthKit buildTimestampFromDate:sample.startDate]; + int endDateTimestamp = [RCTAppleHealthKit buildTimestampFromDate:sample.endDate]; + NSDictionary *elem = @{ @"correlation" : sample, - @"startDate" : startDateString, - @"endDate" : endDateString, + @"startDate" : @(startDateTimestamp), + @"endDate" : @(endDateTimestamp), }; [data addObject:elem]; } @@ -683,8 +683,8 @@ for (HKCategorySample *sample in sampleObjects) { NSInteger val = sample.value; - NSString *startDateString = [RCTAppleHealthKit buildISO8601StringFromDate:sample.startDate]; - NSString *endDateString = [RCTAppleHealthKit buildISO8601StringFromDate:sample.endDate]; + int startDateTimestamp = [RCTAppleHealthKit buildTimestampFromDate:sample.startDate]; + int endDateTimestamp = [RCTAppleHealthKit buildTimestampFromDate:sample.endDate]; NSString *valueString = [NSString stringWithFormat:@"%d", val]; @@ -710,8 +710,8 @@ NSDictionary *elem = @{ @"value" : valueString, - @"startDate" : startDateString, - @"endDate" : endDateString, + @"startDate" : @(startDateTimestamp), + @"endDate" : @(endDateTimestamp), @"deviceName" : deviceName, @"deviceManufacturer" : deviceManufacturer, @"deviceHardware" : deviceHardwareVer, diff --git a/RCTAppleHealthKit/RCTAppleHealthKit+Utils.h b/RCTAppleHealthKit/RCTAppleHealthKit+Utils.h index 2543ac0681763758bc05e096e9b7d61242a45908..738129fe1c8b0859e093ef60e042274cd98671f3 100644 --- a/RCTAppleHealthKit/RCTAppleHealthKit+Utils.h +++ b/RCTAppleHealthKit/RCTAppleHealthKit+Utils.h @@ -12,6 +12,7 @@ + (NSDate *)parseISO8601DateFromString:(NSString *)date; + (NSString *)buildISO8601StringFromDate:(NSDate *)date; ++ (int)buildTimestampFromDate:(NSDate *)date; + (NSPredicate *)predicateForSamplesToday; + (NSPredicate *)predicateForSamplesOnDay:(NSDate *)date; + (NSPredicate *)predicateForSamplesBetweenDates:(NSDate *)startDate endDate:(NSDate *)endDate; diff --git a/RCTAppleHealthKit/RCTAppleHealthKit+Utils.m b/RCTAppleHealthKit/RCTAppleHealthKit+Utils.m index 555e51332e7b398f4b00d7d41a09e6a4d62d244d..9567857689398d82c9f7e147910298b7876d909b 100644 --- a/RCTAppleHealthKit/RCTAppleHealthKit+Utils.m +++ b/RCTAppleHealthKit/RCTAppleHealthKit+Utils.m @@ -33,6 +33,14 @@ } ++ (int)buildTimestampFromDate:(NSDate *)date +{ + NSTimeInterval interval = [date timeIntervalSince1970]; + NSNumber *timeStampObj = [NSNumber numberWithDouble: interval]; + return [timeStampObj intValue]; +} + + + (NSPredicate *)predicateForSamplesToday { NSDate *now = [NSDate date]; return [RCTAppleHealthKit predicateForSamplesOnDay:now];