set AppleScript's text item delimiters to ""
set wakeTime to "21:01"
set oldDelims to AppleScript's text item delimiters
set AppleScript's text item delimiters to {":", " "}
set {wakeHour, wakeMin} to text items of wakeTime
set AppleScript's text item delimiters to oldDelims
set h to wakeHour as integer
if h < 13 then
set amOrPm to " am"
else
set amOrPm to " pm"
set afterNoonTime to "1:00 pm"
set t to (date afterNoonTime) as string
display dialog t
--> Sunday, September 6, 2009 1:00:00 PM
if time string of date afterNoonTime contains "13" then set h to h - 12
end if
set m to wakeMin as integer
if m < 10 then set m to "0" & m
set wakeTime to (h & ":" & m & amOrPm)
set WakeUpTime to short date string of (current date)
set WakeUpTime to date (WakeUpTime & space & wakeTime)
(time string of WakeUpTime)
display dialog WakeUpTime as string
--> Monday, September 7, 2009 9:01:00 PM
return
NOTE the first display dialog yields 1:00:00 PM regardless of the setting of the 24h clock.
Hmmm, It works for me 12 or 24.
Are you certain your date is set for Sept. 6?
On Sep 6, 2009, at 15:23 PM, Robert Poland wrote:
This version should work for 24 hour clocks.
ES
set wakeTime to "21:01"
set oldDelims to AppleScript's text item delimiters
set AppleScript's text item delimiters to {":", " "}
set {wakeHour, wakeMin} to text items of wakeTime
set AppleScript's text item delimiters to oldDelims
set h to wakeHour as integer
if h < 13 then
set amOrPm to " am"
else
set amOrPm to " pm"
set afterNoonTime to "1:00 pm"
if time string of date afterNoonTime contains "13" then set h to h - 12
end if
set m to wakeMin as integer
if m < 10 then set m to "0" & m
set wakeTime to (h & ":" & m & amOrPm)
set WakeUpTime to short date string of (current date)
set WakeUpTime to date (WakeUpTime & space & wakeTime)
(time string of WakeUpTime)
Strange, with 24h clock and adding;
display dialog WakeUpTime as stringI get "Monday, September 7, 2009 9:01:00 AM "
Same for 12h clock.
Bob Poland - Fort Collins, CO
Bob Poland - Fort Collins, CO