スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
【--/--/-- --:--】 | スポンサー広告 | page top↑
う~ん、未熟でした
 Yahoo!テレビの情報を iCal や Googleカレンダーに登録するスクリプトを公開しておりましたが、後で AppleScript の機能を勉強していたら、もっと簡単に記述できることが分かりました。(汗
 ということで、以前の日記にあるソースも変更しておきました。
【iCalへの登録】は
http://mixi.jp/view_diary.pl?id=1360823424&owner_id=29178
【Googleカレンダーへの登録】は
http://mixi.jp/view_diary.pl?id=1361738237&owner_id=29178

ちなみに、書き直した部分は以下の2箇所です。(かなり短くなりました)
(1) Yahoo!テレビの時刻が 25:10 のように、深夜零時を超えても日付を変えずに時刻をカウントアップしているのを、普通の時刻に変換している部分。
on normalize(inDt) -- inDt as "yyyy/mm/dd hh:mm:ss"
set aDate to inDt as text
set H to characters 12 thru 13 of inDt as text
if H ≥ "24" then -- 24時以降?
set H to text -2 thru -1 of ("0" & (H - 24))
set wDate to date ((text 1 thru 11 of inDt & H & text 14 thru 19 of inDt) as text)
set wDate to wDate + (1 * 24 * 60 * 60) -- 翌日を求める
set Y to year of wDate
set M to text -2 thru -1 of ("0" & ((month of wDate) as number))
set D to text -2 thru -1 of ("0" & (day of wDate))
set aDate to Y & "/" & M & "/" & D & " " & H & text 14 thru 19 of aDate
end if
return aDate as text
end normalize

(2) Googleカレンダーに登録するために時刻を UTC(GMT)に変換している部分
on JST2UTC(inDt) -- inDt as "yyyy/mm/dd hh:mm:ss"
set yesterday to (date inDt) - (time to GMT) -- GMT/UTC
set Y to year of yesterday
set M to text -2 thru -1 of ("0" & ((month of yesterday) as number))
set D to text -2 thru -1 of ("0" & (day of yesterday))
set H to text -2 thru -1 of ("0" & (hours of yesterday))
set f to text -2 thru -1 of ("0" & (minutes of yesterday))
set S to text -2 thru -1 of ("0" & (seconds of yesterday))
set ans to (Y & M & D & "T" & H & f & S & "Z") as text
return ans -- return as google format: "yyyymmddThhmmssZ"
end JST2UTC
スポンサーサイト
【2009/12/19 12:57】 | Mac好き | トラックバック(0) | コメント(0) | page top↑
<<銀座の三日月 | ホーム | 日経PCオンラインのコラムで!>>
コメント
コメントの投稿














管理者にだけ表示を許可する

トラックバック
トラックバックURL
→http://ynomura.blog47.fc2.com/tb.php/661-17094d20
この記事にトラックバックする(FC2ブログユーザー)
| ホーム |
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。