User Tools

Site Tools


Dates_and_Times

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Dates_and_Times [2017/09/07 00:11]
peternlewis
Dates_and_Times [2023/06/20 02:44] (current)
peternlewis [Mixing Functions and Tokens]
Line 1: Line 1:
-{{:​date_and_time-icon.gif|}} 
- 
 Dates and Times Dates and Times
 =============== ===============
Line 9: Line 7:
  
 ===== Examples ===== ===== Examples =====
 +
 ==== 1. Get Current Date/Time ==== ==== 1. Get Current Date/Time ====
- 
  
 The most commonly used token is for returning the current date/time in the format you like: The most commonly used token is for returning the current date/time in the format you like:
  
-''​%ICUDateTime%**format**%''​ where **format** is from the [ICU Date/Time codes](http://userguide.icu-project.org/formatparse/datetime#​TOC-Date-Time-Format-Syntax).+''​%ICUDateTime%**format**%''​ where **format** is from the [ICU Date/Time codes](https://www.keyboardmaestro.com/action/linkthru?​icudatetimereference).
  
 For example, using the [[action:​Set_Variable_to_Text|Set Variable to Text]] Action:​\\ ​ For example, using the [[action:​Set_Variable_to_Text|Set Variable to Text]] Action:​\\ ​
Line 20: Line 18:
  
 ==== 2. Add Time to Date ==== ==== 2. Add Time to Date ====
 +
 This example adds days to the current date using a Keyboard Maestro Variable. ​ See below for other options.{{:​add-days-current-date-km-7.3.png?​nolink|}} This example adds days to the current date using a Keyboard Maestro Variable. ​ See below for other options.{{:​add-days-current-date-km-7.3.png?​nolink|}}
  
 For more info see this Forum Topic: ​ [Add Time to Current Date @Example](https://​forum.keyboardmaestro.com/​t/​date-add-time-to-current-date-example/​7213),​ which provides instructions and a complete macro. For more info see this Forum Topic: ​ [Add Time to Current Date @Example](https://​forum.keyboardmaestro.com/​t/​date-add-time-to-current-date-example/​7213),​ which provides instructions and a complete macro.
- 
---- 
- 
  
  
Line 43: Line 39:
 ###Format Codes ###Format Codes
  
-**For the complete list** of codes, see the [ICU Date/Time codes](http://userguide.icu-project.org/formatparse/datetime#​TOC-Date-Time-Format-Syntax).+**For the complete list** of codes, see the [ICU Date/Time codes](https://www.keyboardmaestro.com/action/linkthru?​icudatetimereference).
  
  
Line 77: Line 73:
 * <​TimeUnit>​ is one of the following: Seconds, Minutes, Hours, Days, Weeks, Months, Years, or a weekday, Sundays, Mondays, Tuesdays, Wednesdays, Thursdays, Fridays, Saturdays. * <​TimeUnit>​ is one of the following: Seconds, Minutes, Hours, Days, Weeks, Months, Years, or a weekday, Sundays, Mondays, Tuesdays, Wednesdays, Thursdays, Fridays, Saturdays.
 * <​Quantity>​ is the number of <​TimeUnit>​s * <​Quantity>​ is the number of <​TimeUnit>​s
-* <​format>​ is the format of text returned, using the [ICU Date/Time codes](http://userguide.icu-project.org/formatparse/datetime#​TOC-Date-Time-Format-Syntax)+* <​format>​ is the format of text returned, using the [ICU Date/Time codes](https://www.keyboardmaestro.com/action/linkthru?​icudatetimereference)
 * [[function:​NOW|NOW()]] and [[function:​TIME|TIME()]] functions return the current time in GMT * [[function:​NOW|NOW()]] and [[function:​TIME|TIME()]] functions return the current time in GMT
 * <+ or –\> is the operator to add (+) or subtract (–) * <+ or –\> is the operator to add (+) or subtract (–)
Line 115: Line 111:
 * [[unixtime]] in GMT * [[unixtime]] in GMT
  
-==== Mixing Functions and Tokens ====+===== Mixing Functions and Tokens ​=====
  
-You might expect [[token:​ICUDateTimeFor|%ICUDateTimeFor%]] [[function:​TIME|TIME(2017,​ 1, 1)]] `%EEE, MMM d, yyyy%to yield `Sun, Jan 1, 2017`. However, it may yield `Sat, Dec 31, 2016`, depending on your local time zone.+You might expect ​“%[[token:​ICUDateTimeFor|ICUDateTimeFor]]%[[function:​TIME|TIME(2017,​ 1, 1)]]%EEE, MMM d, yyyy%” to yield `Sun, Jan 1, 2017`. However, it may yield `Sat, Dec 31, 2016`, depending on your local time zone.
  
 Here is why: Here is why:
Line 126: Line 122:
 * It is best is to use [[function:​TIME|TIME(Year,​ Month, Day, 12, 0, 0)]] which will give noon GMT time, and thus the same day in local time for pretty much everyone in the world (everyone with time zone differences strictly between -12 hours and +12 hours). * It is best is to use [[function:​TIME|TIME(Year,​ Month, Day, 12, 0, 0)]] which will give noon GMT time, and thus the same day in local time for pretty much everyone in the world (everyone with time zone differences strictly between -12 hours and +12 hours).
  
-So, if you use [[token:​ICUDateTimeFor|%ICUDateTimeFor%]] [[function:​TIME|TIME(2017,​ 1, 1 , 12, 0, 0)]] `%EEE, MMM d, yyyy%you will now get the expected result of `Sun, Jan 1, 2017`+So, if you use “%[[token:​ICUDateTimeFor|ICUDateTimeFor]]%[[function:​TIME|TIME(2017,​ 1, 1 , 12, 0, 0)]]%EEE, MMM d, yyyy%” you will now get the expected result of `Sun, Jan 1, 2017`
  
 ===== Discussion on Keyboard Maestro Forum ===== ===== Discussion on Keyboard Maestro Forum =====
  
 For a more complete discussion on the many different ways to use date and times, see [KM dates & times: Notes on anchors, intervals, and translations](https://​forum.keyboardmaestro.com/​t/​km-dates-times-notes-on-anchors-intervals-and-translations/​1935) (Aug 2015), with contributions by @[ComplexPoint](https://​forum.keyboardmaestro.com/​users/​ComplexPoint),​ @[peternlewis](https://​forum.keyboardmaestro.com/​users/​peternlewis),​ and others. For a more complete discussion on the many different ways to use date and times, see [KM dates & times: Notes on anchors, intervals, and translations](https://​forum.keyboardmaestro.com/​t/​km-dates-times-notes-on-anchors-intervals-and-translations/​1935) (Aug 2015), with contributions by @[ComplexPoint](https://​forum.keyboardmaestro.com/​users/​ComplexPoint),​ @[peternlewis](https://​forum.keyboardmaestro.com/​users/​peternlewis),​ and others.
 +
 +===== Localization =====
 +
 +Prior to Mojave, and after Keyboard Maestro 9.0, dates should be in your chosen language. ​ Unfortunately Apple changed Mojave and later to make the system return dates only in the Keyboard Maestro localized language (ie, English), regardless of your chosen locale. ​ Keyboard Maestro 9.0 works around this by claiming to be in all locales, even though it is really only localized for English itself.
  
 ===== See Also ===== ===== See Also =====
  
-=== Actions ===+==== Actions ​====
  
 * [[action:​Filter|Filter]] (Process Text Tokens) * [[action:​Filter|Filter]] (Process Text Tokens)
Dates_and_Times.1504757468.txt.gz · Last modified: 2017/09/07 00:11 by peternlewis