Ftime
Testing the MarkupExpression ftime
Testing the MarkupExpression ftime
Today is 2023-12-06 Wed in PmWikiland where its is 03:43:30
{(ftime %F -7days)} {(ftime %F when="2007-08-14 -1days")} {(ftime %F when="2007-08-14 -1 days")} {(ftime %F when="2007-08-14 -1 day")} {(ftime %F "2007-04-11 -4 days")} {(ftime %F when="2007-01-24 +1 day")} {(ftime %F when="2007-01-24 +1day")} {(ftime %F "+1 day")} ?today +1 use quotes {(ftime %F +1day)} ?today +1 | 2023-11-29 2007-08-13 2007-08-13 2007-08-13 2007-04-07 2007-01-25 2007-01-25 2023-12-07 ?today +1 use quotes 2023-12-07 ?today +1 |
{(ftime when=" ")} {(ftime %s)} {(ftime %s " ")} {(ftime %s when="")} {(ftime fmt=%F when="2007-08-14 -1days")} | December 31, 1969, at 11:59 PM 1701834210 -1 -1 2007-08-13 |
{(ftime News-20070501)} | May 01, 2007, at 12:00 AM |
{(ftime MarchingOrders2007)} | December 06, 2023, at 03:43 AM |
{(ftime 1177600111)} | December 06, 2023, at 03:43 AM |
{(ftime %s)} | 1701834210 |
{(ftime @1177600111)} | April 26, 2007, at 03:08 PM |
{(ftime fmt="%b %#d %Y" when="second mon of Jan")} {(ftime fmt="%b %#d %Y" when="second tue of Feb")} {(ftime fmt="%b %#d %Y" when="second wed of Mar")} {(ftime fmt="%b %e %Y" when="second thu of Apr")} {(ftime fmt="%b %e %Y" when="second fri of May")} {(ftime fmt="%b %e %Y" when="second sat of Jun")} {(ftime fmt="%b %e %Y" when="third sun of Jul")} {(ftime fmt="%b %e %Y" when="fourth mon of Aug")} {(ftime fmt="%b %e %Y" when="first tue of Sep")} {(ftime fmt="%b %e %Y" when="second wed of Oct")} {(ftime fmt="%b %e %Y" when="third thu of Nov")} {(ftime fmt="%b %e %Y" when="first wed of Dec")} ---- {(ftime fmt="%b %e %Y" when="second Monday of January")} {(ftime fmt="%b %e %Y" when="second Tuesday of February")} ... {(ftime fmt="%b %e %Y" when="first Wednesday of December")} | Jan 09 2023 Feb 14 2023 Mar 08 2023 Apr 13 2023 May 12 2023 Jun 10 2023 Jul 16 2023 Aug 28 2023 Sep 5 2023 Oct 11 2023 Nov 16 2023 Dec 6 2023 Jan 9 2023 Feb 14 2023 ... Dec 6 2023 |
All these work on my own server, with or without the changes in DRange() for 2.2.69. --Petko October 19, 2014, at 06:12 AM
Testing relative GNU date input formats
Today is 2023-12-06 Wed
{(ftime "%Y %b %d %a" "1 mon")} {(ftime "%Y %b %d %a" "2 tue")} {(ftime "%Y %b %d %a" "3 wed")} {(ftime "%Y %b %d %a" "4 thu")} ? {(ftime "%Y %b %d %a" "1 sat")} {(ftime "%Y %b %d %a" "2 sat")} {(ftime "%Y %b %d %a" "3 sat")} {(ftime "%Y %b %d %a" "4 sat")} {(ftime "%Y %b %d %a" "tuesday")} {(ftime "%Y %b %d %a" "last tue")} {(ftime "%Y %b %d %a" "this tue")} {(ftime "%Y %b %d %a" "next tue")} ? {(ftime "%Y %b %d %a" "thursday")} {(ftime "%Y %b %d %a" "last week")} {(ftime "%Y %b %d %a" "this week")} {(ftime "%Y %b %d %a" "next week")} | 2023 Dec 11 Mon 2023 Dec 19 Tue 2023 Dec 20 Wed 2023 Dec 28 Thu ? 2023 Dec 09 Sat 2023 Dec 16 Sat 2023 Dec 23 Sat 2023 Dec 30 Sat 2023 Dec 12 Tue 2023 Dec 05 Tue 2023 Dec 12 Tue 2023 Dec 12 Tue ? 2023 Dec 07 Thu 2023 Nov 27 Mon 2023 Dec 04 Mon 2023 Dec 11 Mon |
All the above are correct; "4 thu" means "Thursday the fourth week", knowing that "next Thursday" is "this Thursday" or "Thursday the first week". --Petko
{(ftime "%Y %b %d %a" "last month")} ? {(ftime "%Y %b %d %a" "this month")} {(ftime "%Y %b %d %a" "next month")} {(ftime "%Y %b %d %a" "June")} ? {(ftime "%Y %b %d %a" "last June")} ? {(ftime "%Y %b %d %a" "this June")} ? {(ftime "%Y %b %d %a" "next June")} ? {(ftime "%Y %b %d %a" "last Aug")} ? {(ftime "%Y %b %d %a" "this Aug")} ? {(ftime "%Y %b %d %a" "next Aug")} ? {(ftime "%Y %b %d %a" "October")} ? {(ftime "%Y %b %d %a" "last Oct")} ? {(ftime "%Y %b %d %a" "this Oct")} ? {(ftime "%Y %b %d %a" "next Oct")} ? {(ftime "%Y %b %d %a" "last year")} {(ftime "%Y %b %d %a" "this year")} {(ftime "%Y %b %d %a" "next year")} | 2023 Nov 06 Mon ? 2023 Dec 06 Wed 2024 Jan 06 Sat 2023 Jun 06 Tue ? 2023 Dec 06 Wed ? 2023 Dec 06 Wed ? 2023 Dec 06 Wed ? 2023 Dec 06 Wed ? 2023 Dec 06 Wed ? 2023 Dec 06 Wed ? 2023 Oct 06 Fri ? 2023 Dec 06 Wed ? 2023 Dec 06 Wed ? 2023 Dec 06 Wed ? 2022 Dec 06 Tue 2023 Dec 06 Wed 2024 Dec 06 Fri |
{(ftime "%Y %b %d %a" "3 wed")} {(ftime "%Y %b %d %a" "wed 3")} ? {(ftime "%Y %b %d %a" "3 wed aug")} ? {(ftime "%Y %b %d %a" "aug 3 wed")} ? {(ftime "%Y %b %d %a" "aug wed 3")} ? {(ftime "%Y %b %d %a" "3 wed this aug")} ? {(ftime "%Y %b %d %a" "this aug 3 wed")} ? {(ftime "%Y %b %d %a" "3 wed aug this year")} ? {(ftime "%Y %b %d %a" "aug this year 3 wed")} ? {(ftime "%Y %b %d %a" "this year aug 3 wed")} ? {(ftime "%Y %b %d %a" "this year aug wed 3")} ? | 2023 Dec 20 Wed 2023 Dec 06 Wed ? 2023 Aug 23 Wed ? 2023 Aug 09 Wed ? 2023 Dec 06 Wed ? 2023 Dec 06 Wed ? 2023 Dec 06 Wed ? 2023 Aug 23 Wed ? 2023 Aug 23 Wed ? 2023 Aug 09 Wed ? 2023 Dec 06 Wed ? |
If something is unsatisfactory with relative dates, the reason is the strtotime function in PHP, not PmWiki which uses the date this function recognizes and returns. See also Relative formats on which relative dates are recognized, for example "this/last/next Aug" is not among the ones that are expected to be recognized. --Petko October 19, 2014, at 06:08 AM
{(ftime %o)} {(ftime "%o")} {(ftime "%Y %b %d%o %a")} | th th 2023 Dec 06th Wed |
{(ftime "%L")} {(ftime "%L" "-4minutes")} {(ftime "%L" "-4hours")} {(ftime "%L" "-4days")} {(ftime "%L" "-4months")} {(ftime "%L" "-4years")} {(ftime "%L" "2022-09-25")} {(ftime "%L" "-9months")} {(ftime "%L" "-10months")} {(ftime "%L" "-11months")} {(ftime "%L" "-12months")} A stamp in the future is unexpected,\\ we should handle it better: {(ftime "%L" "+6days")} {(ftime "%L" "+6months")} (±DST) | A stamp in the future is unexpected, (±DST) |