3.7. Creating Your First Application
You're now going to write a program to display a dialog containing the message "Good morning!" if it's before noon but after midnight; "Good afternoon!" if it's after noon but before 6 PM; and "Good evening!" otherwise. Just from reading the preceding sentence you can readily surmise that an if-else if statement will probably fit the bill.
As you may recall, the current date command not only gives you information about the date, but it also gives you the time, as well. You can get the time of the current date and store it in the variable secsSinceMidnight, for example, with this statement:
set secsSinceMidnight to time of (current date)
Remember that the parentheses are required here. The result of this statement is the number of seconds since midnight.
To conclude that it's the morning, you test for the time after midnight and before noon. If you're counting seconds since midnight, 0 represents midnight and the expression
12 * hours
represents noon. Remember that the special AppeScript variable hours is set to the number of seconds in an hour (which happens to be 3?00).
You can now write your test for morning like so:
secsSinceMidnight ≥ 0 and secsSinceMidnight < l2 * hours
The fact of the matter is that secsSinceMidnight is always greater than or equal to zero, so the first part of the test is unnecessary and you can rewrite it like this:
secSinceMidnight < l2 * hours
If it's not morning, you want to test if it's afternoon. Using your variable ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access