- Version 4.5.1 (Swift 4)
- Version 4.5.0 (Swift 4)
- Version 4.4.2 (Swift 4)
- Version 4.4.1 (Swift 4)
- Version 4.3.0 (latest for Swift 3) and 4.4.0
- Version 4.1.11
- Version 4.1.10
- Version 4.1.7
- Version 4.1.6
- Version 4.1.2
- Version 4.1.1
- Version 4.1.0
- Version 4.0.14
- Version 4.0.13
- Version 4.0.12
- Version 4.0.11
- Version 4.0.10
- Version 4.0.9
- Version 4.0.8
- Version 4.0.7
- Version 4.0.6
- Version 4.0.5
- Version 4.0.4
- Version 4.0.3
- Version 4.0.2
- Version 4.0.0
-
Release Date: 2017-12-09
-
Zipped Version: Download 4.5.1
-
#509 Added Polish language (thanks to Grzegorz Krukowski)
-
#511 TimeInterval's
in()
function now alert when extracting calendar specific components without setting a reference date. -
#512 Fixed
imminentRange
behaviour for colloquial formatter
-
Release Date: 2017-11-26
-
Zipped Version: Download 4.5.0
-
#495 Added Thai language (thanks to Thanakrit Weekhamchai)
-
#492 Introduced a new
ColloquialDateFormatter
class -
#503 Added
isBetween
to check if a date is inside a given dates range with passed granularity. -
#505 Exposed reference date for
in()
function ofTimeInterval
. If specified conversion of the interval is aware of daylight saving time and calendar's specific dates; when not specified absolute conversion still available (only for.day,.hour,.minute,.second
components).
-
Release Date: 2017-11-26
-
Zipped Version: Download 4.4.2
-
#495 Added Persian language
-
#489 Disabled LLV Code Coverage scheme
-
#494 Removed
String.characters
warning from Swift 3.x -
#487 Fixed a regression with
rangeAt
instead ofrange(at)
from Swift 3.x)
-
Release Date: 2017-09-14
-
Zipped Version: Download 4.4.1
-
#483 Fix for
NSRange
error under XCode9 and 4.4.0 release
-
Release Date: 2017-09-14
-
Zipped Version for Swift 3: Download 4.3.0
-
Zipped Version for Swift 4: Download 4.4.0
-
#480 Fix for '-' operator both in
Date
andDateInRegion
classes where the result is correctly reported.
-
Release Date: 2017-09-05
-
Zipped Version: Download 4.1.11
-
#479 Disabled LLVM instrumentation flag to allow AppStore submitting (more info https://forums.developer.apple.com/thread/81893)
-
Release Date: 2017-09-03
-
Zipped Version: Download 4.1.10
-
#472
CalendarName
now supportsRawRepresentable
protocol -
#459 Fixed an issue with translation of Dutch locale
-
#463
colloquial...()
functions now fallback totimeComponents...
functions whenstyle
is set to an abbreviated form (ie to return1h
) -
#464 Fixed unit tests for ISO8501
-
#461 Fixed translation for Slovak locale
-
#468 Fixed an issue with negative intervals in
DateTimeInterval
(regression from previous release)
- Release Date: 2017-07-16
- Zipped Version: Download 4.1.7
- #449 Added
nextMonth()
,prevMonth()
,nextWeek()
andprevWeek()
. All of these functions accepts aTimeReference
params which allows to specify how the date should be returned (at thestart
orend
of time component, or leave calculation unaltered).
- #449 Deprecated
nextMonth
andprevMonth
of bothDate
andDateInRegion
. You can use the func with the same name. - #455 ISO8601 Parser now correctly handles milliseconds value from an ISO8601 date string.
- #450 Fixes for translation fallback when no locale region is available (ie. fallback to
ar
when noar-SA
is available; final fallback still onen
).
- Release Date: 2017-07-06
- Zipped Version: Download 4.1.6
- #446 Added Hungarian support (thanks to @iKiKi)
- #445 Fixed an issue which causes wrong results while using algebra operations with time components.
- Release Date: 2017-05-09
- Zipped Version: Download 4.1.2
- #423 Added
firstWeekday
toRegion
struct. This allows you to easily change the first day of a week on given Region'sCalendar
object. By default the value is setsunday
.
- #425 Fixed an issue with
.dates(between:and)
which sometimes may report as final date of the output array date greater than specified end date. - #417 Fixed an issue with
colloquial
functions which return wrong results when differences can be expressed in days. - #419 Fixed an issue with
colloquial
functions which return wrong results when differences can be expressed in days. - #427 Fixed an issue with .NET date parser (it now accounts timezone correctly and parser did not fail with < 1970 dates)
- Release Date: 2017/04/06
- Zipped Version: Download 4.1.1
- #408
Date
andDateInRegion
has now two functions to round a date to certain interval (expressed inseconds
orminutes
).DateInRegion
exposesroundAt()
which directly modify the date itself;Date
, as immutable object, exposes the same feature inroundedAt()
function (which return a newDate
instances). - #414 Added Daylight Saving Time functions:
.isDST
inDateInRegion
(it returns true if the date uses daylight saving time);.DSTOffset
inDateInRegion
(it returns the value (in seconds) of the daylight saving time offset of the represented date),. nextDSTTransitionDate
inDateInRegion
(it returns the next daylight saving time transition after currently represented date when expressed);nextDSTTransitionDate()
func inDate
(it returns the next dst transition date when receiver is expressed in a particular timezone);DSTOffset()
func inDate
(it returns the offset of daylight saving time when receiver is expressed in a particular timezone);isDST()
func inDate
(it returns if receiver date uses daylight saving time when expressed in a particular timezone).
- #410 Several fixes while parsing less common
ISO8601
formats (weeks only w/wo implicit year/month/day). - #411 Parsing an
ISO8601
string now results in aDateInRegion
which contains the correct timezone defined (Date
instances are now converted automatically to be time-independent). - #412 Updated Unit Tests to become compatible with the new APIs changes. All tests now passes.
- #409 Fixed an issue converting a difference between two dates when its more than 24 hours, but less than 48 hours (incorrectly the colloquial values returns 'yesterday')
- #413 Single framework target in XCode Project (iOS, macOS, tvOS and watchOS)
- Release Date: 2017/03/31
- Zipped Version: Download 4.1.0
-
#402 Added Greek localization (thanks to @dimmdesign)
-
#399
colloquialSinceNow
also allows to setunitsStyle
params to specify the type of values you want to print. -
#400
DateInRegion
has a class func nameddate(formats:fromRegion)
which allows parsing a single string with multiple formats (the first one that succeeds returns the instance of theDateInRegion
). Also available asString
extension (with the same name). -
#223
ISO8601DateTimeFormatter
now recognize the timezone of an ISO string and create a date with the correct value. -
#407 SwiftDate now can parse ISO8601 strings without specifyng the ISO format; it evaluates the best format automatically. Also the parser faster than the previous built one. Since now
.iso8601
parsing format is used only as formatter (from date to string, viceversa any given value is ignored. You are encouraged to use.iso8601Auto
instead).The following ISO8601 variants are supported:
YYYYMMDD
YYYY-MM-DD
YYYY-MM
YYYY
YY //century
IMPLIED CENTURY: YY is 00-99
YYMMDD
YY-MM-DD
-YYMM
-YY-MM
-YY
IMPLIED YEAR
--MMDD
--MM-DD
--MM
IMPLIED YEAR AND MONTH
---DD
ORDINAL DATES: DDD IS THE NUMBER OF THE DAY IN THE YEAR (1-366)
YYYYDDD
YYYY-DDD
YYDDD
YY-DDD
-DDD
WEEK-BASED DATES: ww IS THE NUMBER OF THE WEEK, AND d IS THE NUMBER (1-7) OF THE DAY IN THE WEEK
yyyyWwwd
yyyy-Www-d
yyyyWww
yyyy-Www
yyWwwd
yy-Www-d
yyWww
yy-Www
YEAR OF THE IMPLIED DECADE
-yWwwd
-y-Www-d
-yWww
-y-Www
WEEK AND DAY OF IMPLIED YEAR
-Wwwd
-Www-d
WEEK ONLY OF IMPLIED YEAR
-Www
DAY ONLY OF IMPLIED WEEK
-W-d
- #405 Fixed some translation issues in Swedish (thanks to @deville)
- #368 Deprecated
at(unitsWithValues dict: [Calendar.Component : Int])
inDate
andDateInRegion
and replaced with functionalat(values: [Calendar.Component : Int], keep: Set<Calendar.Component>)
- #392 Fixed an issue with report negative interval when making operation with dates
a
andb
wherea - b < 0 iff a < b
. - #397 Fixed an issue with
colloquial
func which report wrong difference of1 day
when two dates are distant < 24h but in two different days.
-
Release Date: 2017/03/29
-
Zipped Version: Download 4.0.14
-
#404 Compatibility with Swift 3.1
- Release Date: 2017/02/12
- Zipped Version: Download 4.0.13
- #384 Added Arabic translation (thanks to @abdualrhmanIO)
- #356 Added a new formatter option called
strict
. Usingstrict
instead ofcustom
disable heuristics date guessing of the formatter (ie. 1999-02-31 become an invalid date to parse, while with heuristics enabled guessing date 1999-03-03 is returned instead).
- Release Date: 2017/01/30
- Zipped Version: Download 4.0.12
- #372 Fix for
Local.collatorIdentifier
(Returns zh-hans-CN and zh-hant-CN) - #374
DateZeroBehavior
options are now public outside the library
- #379 Added Hebrew translation (thanks to @ilandbt)
- #376 Added Swedish translation (thanks to @traneHead)
- #381 Replaced
useImminentInterval
inDateInRegionFormatter
with a configurable value calledimminentInterval
. With a default value of 5 it fallback tojust now
version. Ifnil
fallback is disabled. - #380
DateInRegionFormatter
is now able to load custom localization both fromLocaleName
and custom.strings
files (just set theformatter.localization = Localization(path: [PATH_TO_YOUR_STRINGS_FILE]
)
- Release Date: 2017/01/08
- Zipped Version: Download 4.0.11
- #370 Cannot format colloquial date when a time component value is zero and
allowedComponents
does not contains lower time components (ie. cannot print "today" when set formatter to accept onlyallowedComponents = [.day]
and day difference between dates is zero). - #371
DateInRegionFormatter
crashes with any non-default.allowedComponents
.
- #365 Brazilian Portuguese support (thanks to @ipedro)
- Release Date: 2016/12/21
- Zipped Version: Download 4.0.10
- #364 Fixes Japanaese translation
- Release Date: 2012/12/20
- Zipped Version: Download 4.0.9
- #353 Timezone, region and locale are now public accessible from Region (read-only)
- #354 Added Vietnamese translation (thanks to @solbadguyky)
- #355 Added Japanese translation (thanks to @bati668)
- #360 Catalan translation
- #359 Wrong colloquial string ("just now") when gap between two dates are expressed in minutes and the left comparing operand is a future date.
- #349 Fixed an issue with ISO8601Formatter where we need to manually set the locale to "en_US_POSIX" in order to get correct results (ie. in 12/24h cases).
- #350 Fixed relevant time formatting for Danish translation
- #358 Missing German translation strings are now added.
- #361 Minor fixes for unit test reports
- #362 Added tests for iSO8601 formatter with .internetDateTimeExtended.
- #363 Fallback to main language code when language code + region code is not available (ie. "fr-BE" fall in "fr-FR").
- Release Date: 2012/12/01
- Zipped Version: Download 4.0.8
- #214, Added
.next(day:)
both forDate
andDateInRegion
to get the next weekday (ie. "next friday from today") after specified date. - #310 Added static func
.dates(between:and:increment:)
both forDate
andDateInRegion
which allows to enumerate dates between two interval with given increment in term ofDateComponents
. - #337 DateComponents now implements
.in()
func you can use to express an interval (like usingTimeInterval
) in terms of other time units (for examplelet x = 120.seconds.in(.minute)
will return 2 minutes). - #348
DateComponents
can now be merged using&&
operator. So if you haveA = 1.hours, 3.minutes, 2.seconds
andB = 1.year, 40.minutes
, usinglet C = A && B
you will get a newDateComponents
instance with:C = 1.year, 1.hours, 43.minutes, 2.seconds
. - #340, #320 Added Spanish support (thanks to @Sepho and @adrimarti).
- #323, Added Korean support (thanks to @KisukPark).
- #328, Added Slovak support (thanks to @beretis).
- #329, Added Danish support (thanks to @emilpedersen).
- #331, Added Czech support (thanks to @rbukovansky).
- #187, Added
.startWeek
(get the first day of the sender's week) and.endWeek
(get the last day of the sender's week) both forDate
andDateInRegion
- #344
.inDateDefaultRegion()
is also used as standard value for region in.add()
function of theDate
object - #339 Fixed an issue with reverse interval fatal error when subtracting two dates
- #317 Fixed an issue with language transations. Now all translations are specified in term of language+region settings (ie.
en-US
and not onlyen
). All translation files were updated to reflect this new behaviour. - #346 Workaround to fix a rounding problem when comparing two
Date
orDateInRegion
in terms of.nanosecond
granularity. Now the comparision result is correct. - #315, Fixed an issue with
Date().add(components:)
and daylight saving dates. - #319, Added missing translation for german loc (thanks to @jaweinkauff)
Release Date: 2012/12/20 Zipped Version: Download
- #306 Fixed a date ordering issue with time interval
- #308 Added singular component for
.year,.month,.day,.hour,.minute,.second
time components - #309 Added Traditional Chinese support (thanks to @rynecheow)
- #314 Restored French translation strings
- Release Date: 2012/10/17
- Zipped Version: Download 4.0.8
- #303
Date.defaultRegion()
is now set toRegion.Local()
as specified in doc (notRegion.GMT()
) - #302 Fixed an issue with colloquial dates and future dates; also fixed an issue when reporting colloquial differences expressed in weeks
- #301 Add
.locale
property inISO8601DateTimeFormatter
- Release Date: 2012/10/10
- Zipped Version: [Download 4.0.5]
- #284 Fixed a crash with .colloquial() function and # weeks evaluation
- #287 Added Simplified Chinese translation (thanks to @codingrhythm)
- #288 Added Indonesian translation (thanks to @suprie)
- #286 Added French translation (thanks to @pierrolivier)
- #293 Added .withInternetDateTimeExtended as options of ISO8601DateTimeFormatter
- #292 .setDefaultRegion and .defaultRegion are now static func/prop of the Date object
- Release Date: 2012/10/04
- Zipped Version: Download 4.0.4
- #277: Remove
throws
from Date.add(components:) in Date+Math.swift - #276: Remove Development team from framework
- Release Date: 2012/10/03
- Zipped Version: Download 4.0.3
Changes:
- #271: Added fallback to english translation when required translation is not available for colloquial functions
- #112: Fixed an issue when optimization level is
-fast
- #269: Fixed unnecessary strings printed in console when using
.timeComponents()
function - #266: Removed unnecessary
Region.copy()
function - #267:
.absoluteDate
is now a public property forDateInRegion
- #268: Added new german translation to
SwiftDate.bundle
- #272: Failed to calculate a colloquial date when diff in seconds = 0. It throw a
.FailedToCalculate
exception. - #274: Fixed a bug with padding in Time Components formatter. Now SwiftDate uses
DateComponentsFormatter
internally; old timeComponents/timeComponentsSinceNow (in Date and DateInRegion) are now deprecated (there are other functions with the same name which takes aComponentsFormatterOptions
struct as input). Also.string()
function inTimeInterval
is now replaced by a counterpart which takeComponentsFormatterOptions
struct. - #275:
.formatter.useSharedFormatters
inDateInRegion
is now accessible so, if strictly needed user can user a custom instance of DateTime Formatters per singleDateInRegion
.
-
Release Date: 2012/09/30
-
Zipped Version: Download 4.0.2
-
Minor fix for cocoapods compatibility (SwiftDate.bundle was not copied)
- Major rewrite, fully compatible with Swift 3.0
- Function names and parameter now fully adopt Swift conventions (we should make a complete list of changes soon)
- Various fixes with locale management and timezones
- Web site and complete documentation
- Jazzy support
- Unit tests now compiles under XCode 8 and Swift 3