summaryrefslogtreecommitdiffstats
path: root/generic/tclDate.h
Commit message (Collapse)AuthorAgeFilesLines
* TCL_MEM_DEBUG build: disable cache/storage-GC for released clock scan/format ↵sebres2024-03-241-1/+5
| | | | objects
* still one fix for [1f40aa83c552f597], now for freescan (overflow in tests ↵sebres2024-03-241-0/+2
| | | | clock-6.10e/clock-6.10f): rewritten with common str2int now
* Review: use Tcl_Size for "length" in tclStrIdxTree.h. Macro tweaks.jan.nijtmans2024-03-201-2/+2
|
* validation check: fixed time point of first stage - it must work TZ ↵sebres2024-03-141-1/+3
| | | | independently (the conversion of local time to UTC may adjust date/time tokens);
* merge sebres-8-6-clock-speedup-cr2sebres2024-03-121-6/+14
|\
| * fixes #23: `clock add` regression (integer overflow in time part)sebres2024-03-121-6/+6
| |
| * replace sprintf with itoawsebres2024-03-121-0/+4
| |
| * consider TZ-epoch in base-cache (ensure cache of base is correct for ↵sebres2024-03-121-0/+4
| | | | | | | | :localtime if TZ changing)
* | more int -> Tcl_Sizejan.nijtmans2024-03-111-1/+1
| |
* | Fix [1acd172c424b57c9] (by just reverting the change causing this). Not ↵jan.nijtmans2024-03-111-3/+3
| | | | | | | | crucial for TIP #688. Also, make it compile/run using -DTCL_NO_DEPRECATED=1
* | Merge 9.0. Misc improvements from 9.0 branch (which were lost in this branch)jan.nijtmans2024-03-101-3/+1
| |
* | Rebase to latest 9.0jan.nijtmans2024-02-261-2/+2
| |
* | Get sebres-8-6-clock-speedup-cr2 ready for 8.7 toojan.nijtmans2021-02-181-1/+1
|/
* Merge 8.6. More warning fixesjan.nijtmans2020-10-151-10/+12
|
* Eliminate some eol-spacing, eliminate some gcc warnings (with -Wc++-compat)jan.nijtmans2020-10-121-4/+4
|
* simplifying info-structure, usage of flags etc (normalizing in order to use ↵sebres2019-07-151-2/+2
| | | | | | same flags as by formatted scan instead of members like yyHave...); (additionally allocates info->messages object on demand, if free scan fails)
* **interim** try simplify info-structure (replace yyHave... with flags)sebres2019-07-151-15/+11
|
* implemented scan of astronomical julian day (JDN/ID) with token `%Ej`, ↵sebres2019-03-131-1/+1
| | | | | | | | corresponds julian date of sqlite-database. In opposite to calendar julian day `%J`, it starts the day at noon (and can parse float, so contains a time fraction). **TODO** implement `clock format ... -format %Ej` and test-cases for format of this token. **TODO** implement `%EJ` token for calendar JD with time fraction.
* fixes [16e4fc3096] julian day calculation (mostly affected for very small ↵sebres2019-01-251-0/+25
| | | | times, B.C.E. between 4714 and 4713), added test-cases covering that.
* introduced new configure option `-max-jdn` corresponds current setting of ↵sebres2019-01-251-0/+1
| | | | tcl-core clock scans for JulianDay per default (5373484 = "9999-12-31 23:59:59")
* Introduces new validity rule (gh-11): check input-time is valid regarding ↵sebres2018-10-051-22/+21
| | | | | | | | time-zone conversion inside the time-zone ranges (not in DST-hole); ConvertLocalToUTC/ConvertUTCToLocal rewritten to use common cache (and ConvertLocalToUTC invalidates the local seconds, if it was outside the time-zone ranges during conversion); Bonus: improves performance of the involved cache by time-zone conversions (if more as 1 TZ), see both performance test-cases "Convert TZ: direct": (1.3µs vs. 1.7µs previously)
* fixed week-based calculation if neither mmdd nor ddd available;sebres2018-05-291-1/+2
|
* validation rules: extended for day of year (and test covered now)sebres2018-05-291-2/+2
|
* validation rules ready for scan/freescan; test cases extended; code review ↵sebres2018-05-291-4/+8
| | | | | | and clean-up; running of test cases with and without validate.
* try to re-implement validation rules for `clock scan` (option `-valid 1|0`), ↵sebres2018-05-291-0/+4
| | | | see http://core.tcl.tk/tcl/tktview?name=3475995
* Added max permitted threshold (buffer size > result size) in percent, to ↵sebres2018-05-291-1/+4
| | | | directly return the buffer without reallocate (don't affect small formats with size < 80 (MIN_FMT_RESULT_BLOCK_ALLOC))
* further optimization: better cache for GMT-timezone + minimize ↵sebres2018-05-291-1/+4
| | | | (re)allocation of buffers
* try to resolve warnings by some forwards declarations: redefinition of ↵sebres2018-05-291-6/+7
| | | | typedef 'ClockScanToken' is a C11 feature [-Wtypedef-redefinition]
* fixed overflow of year (resp. julianday), closes ticket [16e4fc3096]; test ↵sebres2017-08-081-3/+3
| | | | cases adjusted.
* Clock options should be alphabetica (so "-base" first). Struct members ↵jan.nijtmans2017-06-071-28/+28
| | | | should start with lowercase.
* Fix LookupLastTransition() for behavior when tick < compVal, undo ↵jan.nijtmans2017-06-071-1/+1
| | | | Tcl_EvalObjEx -> TclEvalObjEx change, eliminate two inline macro's which are only used once. Eliminate many unnecessary MODULE_SCOPE declarations (duplicated with header files)
* fix default locale: differentiate between no locale specified or "C" (en) ↵sebres2017-06-021-0/+2
| | | | and current locale (corresponds system language, resp. env(LANG))
* close small performance degradation if alternate between two time zones (e. ↵sebres2017-06-021-3/+5
| | | | g. convert from one to another): additionally to last used cache also previously used time zone.
* close small performance degradation if alternate between two locales (e. g. ↵sebres2017-06-021-2/+6
| | | | convert from one to another): additionally to last used cache also previously used locale.
* Removed public interface to create smart-pointer to dictionaries "dict ↵sebres2017-06-021-0/+2
| | | | smartref", common locales catalog rewritten to hold internally onetime referenced merged locales (even as smart-ref).
* More code review, e.g. use Tcl_SetObjResult in stead of Tcl_SetResult, ↵jan.nijtmans2017-05-311-5/+5
| | | | preventing a (char *) type case. No functional changes.
* small code review: resolves several warning on some compilerssebres2017-05-301-1/+1
|
* Added files missing after merge/back-port (rebase with merge point)sebres2017-05-101-0/+512