remove deprecated stuffs from std/times (#18937)

This commit is contained in:
flywind
2021-10-13 20:58:31 +08:00
committed by GitHub
parent 2ac3ba713b
commit e2b19bb2de

View File

@@ -488,7 +488,7 @@ proc fromEpochDay(epochday: int64):
proc getDayOfYear*(monthday: MonthdayRange, month: Month, year: int):
YeardayRange {.tags: [], raises: [], benign.} =
## Returns the day of the year.
## Equivalent with `initDateTime(monthday, month, year, 0, 0, 0).yearday`.
## Equivalent with `dateTime(year, month, monthday, 0, 0, 0, 0).yearday`.
runnableExamples:
doAssert getDayOfYear(1, mJan, 2000) == 0
doAssert getDayOfYear(10, mJan, 2000) == 9
@@ -508,7 +508,7 @@ proc getDayOfYear*(monthday: MonthdayRange, month: Month, year: int):
proc getDayOfWeek*(monthday: MonthdayRange, month: Month, year: int): WeekDay
{.tags: [], raises: [], benign.} =
## Returns the day of the week enum from day, month and year.
## Equivalent with `initDateTime(monthday, month, year, 0, 0, 0).weekday`.
## Equivalent with `dateTime(year, month, monthday, 0, 0, 0, 0).weekday`.
runnableExamples:
doAssert getDayOfWeek(13, mJun, 1990) == dWed
doAssert $getDayOfWeek(13, mJun, 1990) == "Wednesday"
@@ -1060,13 +1060,13 @@ proc isLeapDay*(dt: DateTime): bool {.since: (1, 1).} =
## Returns whether `t` is a leap day, i.e. Feb 29 in a leap year. This matters
## as it affects time offset calculations.
runnableExamples:
let dt = initDateTime(29, mFeb, 2020, 00, 00, 00, utc())
let dt = dateTime(2020, mFeb, 29, 00, 00, 00, 00, utc())
doAssert dt.isLeapDay
doAssert dt+1.years-1.years != dt
let dt2 = initDateTime(28, mFeb, 2020, 00, 00, 00, utc())
let dt2 = dateTime(2020, mFeb, 28, 00, 00, 00, 00, utc())
doAssert not dt2.isLeapDay
doAssert dt2+1.years-1.years == dt2
doAssertRaises(Exception): discard initDateTime(29, mFeb, 2021, 00, 00, 00, utc())
doAssertRaises(Exception): discard dateTime(2021, mFeb, 29, 00, 00, 00, 00, utc())
assertDateTimeInitialized dt
dt.year.isLeapYear and dt.month == mFeb and dt.monthday == 29
@@ -1372,7 +1372,7 @@ proc initDateTime*(monthday: MonthdayRange, month: Month, year: int,
proc `+`*(dt: DateTime, dur: Duration): DateTime =
runnableExamples:
let dt = initDateTime(30, mMar, 2017, 00, 00, 00, utc())
let dt = dateTime(2017, mMar, 30, 00, 00, 00, 00, utc())
let dur = initDuration(hours = 5)
doAssert $(dt + dur) == "2017-03-30T05:00:00Z"
@@ -1380,7 +1380,7 @@ proc `+`*(dt: DateTime, dur: Duration): DateTime =
proc `-`*(dt: DateTime, dur: Duration): DateTime =
runnableExamples:
let dt = initDateTime(30, mMar, 2017, 00, 00, 00, utc())
let dt = dateTime(2017, mMar, 30, 00, 00, 00, 00, utc())
let dur = initDuration(days = 5)
doAssert $(dt - dur) == "2017-03-25T00:00:00Z"
@@ -1389,8 +1389,8 @@ proc `-`*(dt: DateTime, dur: Duration): DateTime =
proc `-`*(dt1, dt2: DateTime): Duration =
## Compute the duration between `dt1` and `dt2`.
runnableExamples:
let dt1 = initDateTime(30, mMar, 2017, 00, 00, 00, utc())
let dt2 = initDateTime(25, mMar, 2017, 00, 00, 00, utc())
let dt1 = dateTime(2017, mMar, 30, 00, 00, 00, 00, utc())
let dt2 = dateTime(2017, mMar, 25, 00, 00, 00, 00, utc())
doAssert dt1 - dt2 == initDuration(days = 5)
@@ -1998,10 +1998,10 @@ proc toDateTime(p: ParsedTime, zone: Timezone, f: TimeFormat,
if p.utcOffset.isNone:
# No timezone parsed - assume timezone is `zone`
result = initDateTime(monthday, month, year, hour, minute, second, nanosecond, zone)
result = dateTime(year, month, monthday, hour, minute, second, nanosecond, zone)
else:
# Otherwise convert to `zone`
result = (initDateTime(monthday, month, year, hour, minute, second, nanosecond, utc()).toTime +
result = (dateTime(year, month, monthday, hour, minute, second, nanosecond, utc()).toTime +
initDuration(seconds = p.utcOffset.get())).inZone(zone)
proc format*(dt: DateTime, f: TimeFormat,
@@ -2009,7 +2009,7 @@ proc format*(dt: DateTime, f: TimeFormat,
## Format `dt` using the format specified by `f`.
runnableExamples:
let f = initTimeFormat("yyyy-MM-dd")
let dt = initDateTime(01, mJan, 2000, 00, 00, 00, utc())
let dt = dateTime(2000, mJan, 01, 00, 00, 00, 00, utc())
doAssert "2000-01-01" == dt.format(f)
assertDateTimeInitialized dt
result = ""
@@ -2034,7 +2034,7 @@ proc format*(dt: DateTime, f: string, loc: DateTimeLocale = DefaultLocale): stri
## See `Parsing and formatting dates`_ for documentation of the
## `format` argument.
runnableExamples:
let dt = initDateTime(01, mJan, 2000, 00, 00, 00, utc())
let dt = dateTime(2000, mJan, 01, 00, 00, 00, 00, utc())
doAssert "2000-01-01" == format(dt, "yyyy-MM-dd")
let dtFormat = initTimeFormat(f)
result = dt.format(dtFormat, loc)
@@ -2057,7 +2057,7 @@ proc format*(time: Time, f: string, zone: Timezone = local()): string
## See `Parsing and formatting dates`_ for documentation of the
## `f` argument.
runnableExamples:
var dt = initDateTime(01, mJan, 1970, 00, 00, 00, utc())
var dt = dateTime(1970, mJan, 01, 00, 00, 00, 00, utc())
var tm = dt.toTime()
doAssert format(tm, "yyyy-MM-dd'T'HH:mm:ss", utc()) == "1970-01-01T00:00:00"
time.inZone(zone).format(f)
@@ -2083,7 +2083,7 @@ proc parse*(input: string, f: TimeFormat, zone: Timezone = local(),
## Month and day names from the passed in `loc` are used.
runnableExamples:
let f = initTimeFormat("yyyy-MM-dd")
let dt = initDateTime(01, mJan, 2000, 00, 00, 00, utc())
let dt = dateTime(2000, mJan, 01, 00, 00, 00, 00, utc())
doAssert dt == "2000-01-01".parse(f, utc())
var inpIdx = 0 # Input index
var patIdx = 0 # Pattern index
@@ -2125,7 +2125,7 @@ proc parse*(input, f: string, tz: Timezone = local(),
## See `Parsing and formatting dates`_ for documentation of the
## `f` argument.
runnableExamples:
let dt = initDateTime(01, mJan, 2000, 00, 00, 00, utc())
let dt = dateTime(2000, mJan, 01, 00, 00, 00, 00, utc())
doAssert dt == parse("2000-01-01", "yyyy-MM-dd", utc())
let dtFormat = initTimeFormat(f)
result = input.parse(dtFormat, tz, loc = loc)
@@ -2159,7 +2159,7 @@ proc `$`*(dt: DateTime): string {.tags: [], raises: [], benign.} =
## Converts a `DateTime` object to a string representation.
## It uses the format `yyyy-MM-dd'T'HH:mm:sszzz`.
runnableExamples:
let dt = initDateTime(01, mJan, 2000, 12, 00, 00, utc())
let dt = dateTime(2000, mJan, 01, 12, 00, 00, 00, utc())
doAssert $dt == "2000-01-01T12:00:00Z"
doAssert $default(DateTime) == "Uninitialized DateTime"
if not dt.isInitialized:
@@ -2171,7 +2171,7 @@ proc `$`*(time: Time): string {.tags: [], raises: [], benign.} =
## Converts a `Time` value to a string representation. It will use the local
## time zone and use the format `yyyy-MM-dd'T'HH:mm:sszzz`.
runnableExamples:
let dt = initDateTime(01, mJan, 1970, 00, 00, 00, local())
let dt = dateTime(1970, mJan, 01, 00, 00, 00, 00, local())
let tm = dt.toTime()
doAssert $tm == "1970-01-01T00:00:00" & format(dt, "zzz")
$time.local
@@ -2193,7 +2193,7 @@ proc initTimeInterval*(nanoseconds, microseconds, milliseconds,
## `seconds`, `minutes`, `hours`, `days`, `months`, and `years`.
runnableExamples:
let day = initTimeInterval(hours = 24)
let dt = initDateTime(01, mJan, 2000, 12, 00, 00, utc())
let dt = dateTime(2000, mJan, 01, 12, 00, 00, 00, utc())
doAssert $(dt + day) == "2000-01-02T12:00:00Z"
doAssert initTimeInterval(hours = 24) != initTimeInterval(days = 1)
result.nanoseconds = nanoseconds
@@ -2279,8 +2279,8 @@ proc between*(startDt, endDt: DateTime): TimeInterval =
## - If `startDt.timezone != endDt.timezone`, then the result will be
## equivalent to `between(startDt.utc, endDt.utc)`.
runnableExamples:
var a = initDateTime(25, mMar, 2015, 12, 0, 0, utc())
var b = initDateTime(1, mApr, 2017, 15, 0, 15, utc())
var a = dateTime(2015, mMar, 25, 12, 0, 0, 00, utc())
var b = dateTime(2017, mApr, 1, 15, 0, 15, 00, utc())
var ti = initTimeInterval(years = 2, weeks = 1, hours = 3, seconds = 15)
doAssert between(a, b) == ti
doAssert between(a, b) == -between(b, a)
@@ -2360,8 +2360,8 @@ proc between*(startDt, endDt: DateTime): TimeInterval =
startDate = endDate
# Handle hours, minutes, seconds, milliseconds, microseconds and nanoseconds
let newStartDt = initDateTime(startDate.monthday, startDate.month.Month,
startDate.year, startDt.hour, startDt.minute, startDt.second,
let newStartDt = dateTime(startDate.year, startDate.month.Month,
startDate.monthday, startDt.hour, startDt.minute, startDt.second,
startDt.nanosecond, startDt.timezone)
let dur = endDt - newStartDt
let parts = toParts(dur)
@@ -2512,7 +2512,7 @@ proc `+`*(dt: DateTime, interval: TimeInterval): DateTime =
## So adding one month to `31 October` will result in `31 November`, which
## will overflow and result in `1 December`.
runnableExamples:
let dt = initDateTime(30, mMar, 2017, 00, 00, 00, utc())
let dt = dateTime(2017, mMar, 30, 00, 00, 00, 00, utc())
doAssert $(dt + 1.months) == "2017-04-30T00:00:00Z"
# This is correct and happens due to monthday overflow.
doAssert $(dt - 1.months) == "2017-03-02T00:00:00Z"
@@ -2535,7 +2535,7 @@ proc `-`*(dt: DateTime, interval: TimeInterval): DateTime =
## then the `months` component and so on. The returned `DateTime` will
## have the same timezone as the input.
runnableExamples:
let dt = initDateTime(30, mMar, 2017, 00, 00, 00, utc())
let dt = dateTime(2017, mMar, 30, 00, 00, 00, 00, utc())
doAssert $(dt - 5.days) == "2017-03-25T00:00:00Z"
dt + (-interval)