---
title: CMTime
framework: Core Media
role: collectionGroup
role_heading: API Collection
path: coremedia/cmtime-api
---

# CMTime

A structure that represents time.

## Overview

Overview Core Media represents time as a rational value, with a time value as the numerator and timescale as the denominator. The structure can represent a specific numeric time in the media timeline, and can also represent nonnumeric values like invalid and indefinite times or positive and negative infinity.

## Topics

### Creating a Time

- [CMTimeMake(value:timescale:)](coremedia/cmtimemake(value:timescale:).md)
- [CMTimeMakeWithEpoch(value:timescale:epoch:)](coremedia/cmtimemakewithepoch(value:timescale:epoch:).md)
- [CMTimeMakeWithSeconds(_:preferredTimescale:)](coremedia/cmtimemakewithseconds(_:preferredtimescale:).md)
- [CMTimeMakeFromDictionary(_:)](coremedia/cmtimemakefromdictionary(_:).md)

### Inspecting a Time

- [CMTimeGetSeconds(_:)](coremedia/cmtimegetseconds(_:).md)
- [CMTimeAbsoluteValue(_:)](coremedia/cmtimeabsolutevalue(_:).md)
- [CMTIME_IS_VALID(_:)](coremedia/cmtime_is_valid(_:).md)
- [CMTIME_IS_INVALID(_:)](coremedia/cmtime_is_invalid(_:).md)
- [CMTIME_IS_POSITIVEINFINITY(_:)](coremedia/cmtime_is_positiveinfinity(_:).md)
- [CMTIME_IS_NEGATIVEINFINITY(_:)](coremedia/cmtime_is_negativeinfinity(_:).md)
- [CMTIME_IS_INDEFINITE(_:)](coremedia/cmtime_is_indefinite(_:).md)
- [CMTIME_IS_NUMERIC(_:)](coremedia/cmtime_is_numeric(_:).md)
- [CMTIME_HAS_BEEN_ROUNDED(_:)](coremedia/cmtime_has_been_rounded(_:).md)

### Performing Time Calculations

- [CMTimeAdd(_:_:)](coremedia/cmtimeadd(_:_:).md)
- [CMTimeSubtract(_:_:)](coremedia/cmtimesubtract(_:_:).md)
- [CMTimeMultiply(_:multiplier:)](coremedia/cmtimemultiply(_:multiplier:).md)
- [CMTimeMultiplyByFloat64(_:multiplier:)](coremedia/cmtimemultiplybyfloat64(_:multiplier:).md)
- [CMTimeMultiplyByRatio(_:multiplier:divisor:)](coremedia/cmtimemultiplybyratio(_:multiplier:divisor:).md)

### Changing the Timescale

- [CMTimeConvertScale(_:timescale:method:)](coremedia/cmtimeconvertscale(_:timescale:method:).md)
- [CMTimeRoundingMethod](coremedia/cmtimeroundingmethod.md)

### Comparing Times

- [CMTimeCompare(_:_:)](coremedia/cmtimecompare(_:_:).md)
- [CMTimeMaximum(_:_:)](coremedia/cmtimemaximum(_:_:).md)
- [CMTimeMinimum(_:_:)](coremedia/cmtimeminimum(_:_:).md)

### Representing Times

- [CMTimeShow(_:)](coremedia/cmtimeshow(_:).md)
- [CMTimeCopyDescription(allocator:time:)](coremedia/cmtimecopydescription(allocator:time:).md)
- [CMTimeCopyAsDictionary(_:allocator:)](coremedia/cmtimecopyasdictionary(_:allocator:).md)

### Data Types

- [CMTime](coremedia/cmtime.md)
- [CMTimeValue](coremedia/cmtimevalue.md)
- [CMTimeScale](coremedia/cmtimescale.md)
- [CMTimeEpoch](coremedia/cmtimeepoch.md)
- [CMTimeFlags](coremedia/cmtimeflags.md)

### Constants

- [Time](coremedia/cmtime-time.md)
- [Timescale](coremedia/cmtime-timescale.md)
- [Dictionary Keys](coremedia/cmtime-dictionary-keys.md)

## See Also

### Time Representation

- [CMTimeRange](coremedia/cmtimerange-api.md)
- [CMTimeMapping](coremedia/cmtimemapping-api.md)
