|
@@ -1,3 +1,193 @@
|
|
|
# YAGTF
|
|
|
|
|
|
-Yet Another Golang Time Formatter
|
|
|
+Yet Another Golang Time Formatter
|
|
|
+
|
|
|
+## English Documentation
|
|
|
+
|
|
|
+### Tradition Mode
|
|
|
+
|
|
|
+Directly using the format string like 'yyyy-MM-dd HH:mm:ss'. It will be translated into advanced mode format string by simply string replacing.
|
|
|
+
|
|
|
+Just for compatibility, not recommend for complex format.
|
|
|
+
|
|
|
+Symbols:
|
|
|
+
|
|
|
+
|
|
|
+Symbol | Function Description | Will Be Replaced To | Output Example
|
|
|
+:-: | :-: | :-: | :-:
|
|
|
+yyyy | long year | <year> | 2019
|
|
|
+yy | short year | <shortYear> | 96
|
|
|
+MM | month with zero fill | <month> | 02
|
|
|
+M3 | month in English abbr. | <monthAbbr> | Jan
|
|
|
+M09 | month in English with zero fill | <monthName> | January
|
|
|
+M9 | month in English without zero fill | <monthNameNoFill> | January
|
|
|
+M | month without zero fill | <monthNoFill> | 2
|
|
|
+dd | day with zero fill | <day> | 05
|
|
|
+d | day without zero fill | <dayNoFill> | 5
|
|
|
+HH | 24h hour with zero fill | <hour24> | 13
|
|
|
+hh | 12h hour with zero fill | <hour12> | 01
|
|
|
+H | 24h hour without zero fill | <hour24NoFill> | 13
|
|
|
+h | 12h hour without zero fill | <hour12NoFill> | 1
|
|
|
+mm | minute with zero fill | <minute> | 01
|
|
|
+ss | second with zero fill | <second> | 05
|
|
|
+E09 | weekday in English with zero fill | <weekdayName> | Monday
|
|
|
+E9 | weekday in English without zero fill | <weekdayNameNoFill> | Monday
|
|
|
+E3 | weekday in English abbr. | <weekdayAbbr> | Mon
|
|
|
+A | AM/PM | <ampm> | AM
|
|
|
+S1 | millisecond | <ms> | 026
|
|
|
+S2 | microsecond | <us> | 114514
|
|
|
+S3 | nanosecond | <ns> | 019810019
|
|
|
+Z | timezone abbr. | <timezoneAbbr> | CST
|
|
|
+z | timezone UTC offset | <timezone> | +0800
|
|
|
+
|
|
|
+Examples:
|
|
|
+
|
|
|
+`yyyy-MM-dd HH:mm:ss` -> `2000-02-15 19:27:35`
|
|
|
+
|
|
|
+`yy M3 dd E09 hh:mm:ss.S2 A` -> `96 Nov 14 Thursday 01:05:27.114514 PM`
|
|
|
+
|
|
|
+### Advanced Mode
|
|
|
+
|
|
|
+Start your format string with `!`. If you want to use tradition mode, but your formatting string start with `!`, please start with `!!` to instead of `!`.
|
|
|
+
|
|
|
+(The `!` in middle of string will be auto-escaped)
|
|
|
+
|
|
|
+#### Pure Text
|
|
|
+
|
|
|
+Directly type pure text. For escaping `!`, use `<!>`
|
|
|
+
|
|
|
+Examples:
|
|
|
+
|
|
|
+`hello, gensokyo<!>` -> `hello, gensokyo!`
|
|
|
+
|
|
|
+#### Tag
|
|
|
+
|
|
|
+Use `<` and `>` to wrap the name of tag. For escaping `<` and '>', using `<lt>` and `<gt>`
|
|
|
+
|
|
|
+Examples:
|
|
|
+
|
|
|
+`<year>-<month>-<day>` -> `2019-01-02`
|
|
|
+`<lt><hour>:<minute>:<second><gt><!>` -> `<16:05:27>!`
|
|
|
+
|
|
|
+#### Non-display Tags
|
|
|
+
|
|
|
+Some of tags will not be displayed, they just be used for set some options.
|
|
|
+
|
|
|
+Examples:
|
|
|
+
|
|
|
+`<UTC><hour>:<minute>` -> `08:05`
|
|
|
+
|
|
|
+#### Display Tag List
|
|
|
+
|
|
|
+Tag | Function Description | Output Example
|
|
|
+:-: | :-: | :-:
|
|
|
+<year> | long year | 2019
|
|
|
+<shortYear> | short year | 96
|
|
|
+<month> | month with zero fill | 02
|
|
|
+<monthNoFill> | month without zero fill | 2
|
|
|
+<monthAbbr> | month in English abbr. | Jan
|
|
|
+<monthName> | month in English with zero fill | January
|
|
|
+<monthNameNoFill> | month in English without zero fill | January
|
|
|
+<day> | day with zero fill | 05
|
|
|
+<dayNoFill> | day without zero fill | 5
|
|
|
+<hour24> | 24h hour with zero fill | 13
|
|
|
+<hour12> | 12h hour with zero fill | 01
|
|
|
+<hour24NoFill> | 24h hour without zero fill | 13
|
|
|
+<hour12NoFill> | 12h hour without zero fill | 1
|
|
|
+<minute> | minute with zero fill | 01
|
|
|
+<second> | second with zero fill | 05
|
|
|
+<weekday> | weekday in numberic | 1
|
|
|
+<weekdayName> | weekday in English with zero fill | Monday
|
|
|
+<weekdayNameNoFill> | weekday in English without zero fill | Monday
|
|
|
+<weekdayAbbr> | weekday in English abbr. | Mon
|
|
|
+<ampm> | AM/PM | AM
|
|
|
+<ms> | millisecond | 026
|
|
|
+<us> | microsecond | 114514
|
|
|
+<ns> | nanosecond | 019810019
|
|
|
+<yearweek> | the week in this year with zero fill | 06
|
|
|
+<yearweekNoFill> | the week in this year without zero fill | 6
|
|
|
+<yearday> | the day in this year with zero fill | 034
|
|
|
+<yeardayNoFill> | the day in this year without zero fill | 34
|
|
|
+<timezone> | timezone UTC offset | +0800
|
|
|
+<timezoneAbbr> | timezone abbr. | CST
|
|
|
+<timezoneSec> | timezone offset in seconds with zero fill | 03600
|
|
|
+<timezoneSecNoFill> | timezone offset in seconds without zero fill | 3600
|
|
|
+<iso8601date> | ISO8601 date | 2019-01-01
|
|
|
+<iso8601time> | ISO8601 time | 19:28:31
|
|
|
+<iso8601full> | ISO8601 full format | 2019-01-01T19:28:31+0800
|
|
|
+<common> | common format | 2019-01-01 19:28:31
|
|
|
+<nginx> | nginx default time format | 01/Jan/2019:19:28:31 +0800
|
|
|
+<!> | exclamation mark | !
|
|
|
+<lt> | less-than mark | <
|
|
|
+<gt> | great-than mark | >
|
|
|
+<q> | quote mark | "
|
|
|
+<sq> | single quote mark | '
|
|
|
+<sp> | space |
|
|
|
+<tab> | tab |
|
|
|
+<br> | linebreak (valid in multi-line mode only) |
|
|
|
+
|
|
|
+#### Alias
|
|
|
+
|
|
|
+Alias | For Tag
|
|
|
+<y> | <year>
|
|
|
+<sy> | <shortYear>
|
|
|
+<mon> | <month>
|
|
|
+<monNF> | <monthNoFill>
|
|
|
+<monA> | <monthAbbr>
|
|
|
+<monN> | <monthName>
|
|
|
+<monNNF> | <monthNameNoFill>
|
|
|
+<d> | <day>
|
|
|
+<dNF> | <dayNoFill>
|
|
|
+<h24> | <hour24>
|
|
|
+<h12> | <hour12>
|
|
|
+<h24NF> | <hour24NoFill>
|
|
|
+<h12NF> | <hour12NoFill>
|
|
|
+<min> | <minute>
|
|
|
+<s> | <second>
|
|
|
+<wd> | <weekday>
|
|
|
+<wdN> | <weekdayName>
|
|
|
+<wdNNF> | <weekdayNameNoFill>
|
|
|
+<wdA> | <weekdayAbbr>
|
|
|
+<yw> | <yearweek>
|
|
|
+<ywNF> | <yearweekNoFill>
|
|
|
+<yd> | <yearday>
|
|
|
+<ydNF> | <yeardayNoFill>
|
|
|
+<tz> | <timezone>
|
|
|
+<tzA> | <timezoneAbbr>
|
|
|
+<tzS> | <timezoneSec>
|
|
|
+<tzSNF> | <timezoneSecNoFill>
|
|
|
+<i8d> | <iso8601date>
|
|
|
+<i8t> | <iso8601time>
|
|
|
+<i8f> | <iso8601full>
|
|
|
+
|
|
|
+### Non-display Tag List
|
|
|
+
|
|
|
+Tag | Function Description
|
|
|
+:-: | :-:
|
|
|
+<UTC> | use UTC timezone for output
|
|
|
+<Local> | use local timezone for output
|
|
|
+<Timezone:> | *use specified timezone for output
|
|
|
+
|
|
|
+* Instuction For `<Timezone:>` Tag:
|
|
|
+
|
|
|
+Specified timezone to use follow the colon. Using UTC offset format.
|
|
|
+
|
|
|
+Example:
|
|
|
+
|
|
|
+`<Timezone:+0800>` will specified the timezone to CST(+0800) for output.
|
|
|
+
|
|
|
+### Using This Package In Go
|
|
|
+
|
|
|
+* Installation *
|
|
|
+
|
|
|
+```
|
|
|
+go get git.swzry.com/zry/YAGTF
|
|
|
+```
|
|
|
+
|
|
|
+* Coding *
|
|
|
+
|
|
|
+```
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+```
|