<!--
{
  "availability" : [
    "iOS: 15.0.0 -",
    "iPadOS: 15.0.0 -",
    "macOS: 12.0.0 -",
    "tvOS: 15.0.0 -",
    "visionOS: 1.0.0 -",
    "watchOS: 8.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "StoreKit",
  "identifier" : "/documentation/StoreKit/Product/SubscriptionPeriod",
  "metadataVersion" : "0.1.0",
  "role" : "Structure",
  "symbol" : {
    "kind" : "Structure",
    "modules" : [
      "StoreKit"
    ],
    "preciseIdentifier" : "s:8StoreKit7ProductV18SubscriptionPeriodV"
  },
  "title" : "Product.SubscriptionPeriod"
}
-->

# Product.SubscriptionPeriod

Values that represent the duration of time between subscription renewals.

```
struct SubscriptionPeriod
```

## Overview

Use the [`value`](/documentation/StoreKit/Product/SubscriptionPeriod/value) and the [`unit`](/documentation/StoreKit/Product/SubscriptionPeriod/unit-swift.property) together to determine the subscription period. For example, if the unit is [`Product.SubscriptionPeriod.Unit.month`](/documentation/StoreKit/Product/SubscriptionPeriod/Unit-swift.enum/month), and the [`value`](/documentation/StoreKit/Product/SubscriptionPeriod/value) is `3`, the subscription period is three months.

## Topics

### Getting the subscription period

[`value`](/documentation/StoreKit/Product/SubscriptionPeriod/value)

The number of period units.

[`unit`](/documentation/StoreKit/Product/SubscriptionPeriod/unit-swift.property)

The increment of time for the subscription period.

[`Unit`](/documentation/StoreKit/Product/SubscriptionPeriod/Unit-swift.enum)

Units of time that describe subscription periods.

### Getting the period date range

[`dateRange(referenceDate:)`](/documentation/StoreKit/Product/SubscriptionPeriod/dateRange(referenceDate:))

The calculated date range of a subscription period, starting at the reference date.

### Getting subscription periods

[`everySixMonths`](/documentation/StoreKit/Product/SubscriptionPeriod/everySixMonths)

[`everyThreeDays`](/documentation/StoreKit/Product/SubscriptionPeriod/everyThreeDays)

[`everyThreeMonths`](/documentation/StoreKit/Product/SubscriptionPeriod/everyThreeMonths)

[`everyTwoMonths`](/documentation/StoreKit/Product/SubscriptionPeriod/everyTwoMonths)

[`everyTwoWeeks`](/documentation/StoreKit/Product/SubscriptionPeriod/everyTwoWeeks)

[`monthly`](/documentation/StoreKit/Product/SubscriptionPeriod/monthly)

[`weekly`](/documentation/StoreKit/Product/SubscriptionPeriod/weekly)

[`yearly`](/documentation/StoreKit/Product/SubscriptionPeriod/yearly)

### Formatting the subscription period

[`formatted(_:referenceDate:)`](/documentation/StoreKit/Product/SubscriptionPeriod/formatted(_:referenceDate:)-3t7wd)

Formats the subscription period using a format style that takes a date range as an input.

[`formatted(_:referenceDate:)`](/documentation/StoreKit/Product/SubscriptionPeriod/formatted(_:referenceDate:)-8s3ar)

Formats the subscription period using a format style that takes a duration as an input.

## Relationships

### Conforms To

[`Hashable`](/documentation/Swift/Hashable)

[`Copyable`](/documentation/Swift/Copyable)

[`Escapable`](/documentation/Swift/Escapable)

[`CustomDebugStringConvertible`](/documentation/Swift/CustomDebugStringConvertible)

[`Sendable`](/documentation/Swift/Sendable)

[`Equatable`](/documentation/Swift/Equatable)

[`SendableMetatype`](/documentation/Swift/SendableMetatype)

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)