タイムゾーンを東京(GMT+09:00)に直す。
datetime.datetime.now()はタイムゾーンを引数にとれるみたい。でも引数がちょっと面倒。
以下を参考にさせていただきました。
Pythonでタイムゾーンを扱うメモ « taichino.com
http://taichino.com/programming/1876
タイムゾーンが設定できたところでdatetime.datetime(2012,1,21) - datetime.datetime.now(JST())をすると今度はnaiveがどーたらこーたら。
今度は以下を参考にdatetime.datetime(2012,1,21)の引数にtzinfo=JST()を加える。
あるエンジニアの不定期勉強記録
http://abalone.ununu.org/archives/705
できました。この画像からはよくわかりませんが…。
現在のsotsuprobot.py
[sourcecode language="python"]
# -*- coding: utf-8 -*-
import twitter
import datetime
api = twitter.Api(
cache = None,
consumer_key = '****',
consumer_secret = '****',
access_token_key = '****',
access_token_secret = '****')
# タイムゾーンの設定
class JST(datetime.tzinfo):
def utcoffset(self, dt):
return datetime.timedelta(hours=9)
def dst(self, dt):
return datetime.timedelta(0)
def tzname(self, dt):
return 'JST'
# 残り時間の算出
teisyutsubi = datetime.datetime(2012,1,21,23,59,tzinfo=JST())
ima = datetime.datetime.now(JST())
nokorijikan = teisyutsubi - ima
# tweet
text = u"現在時刻"+ str(ima) + u" 卒プロ成果登録締め切りまで あと" + str(nokorijikan.days) + u"日 #sfc_sotsupro"
api.PostUpdate(status=text)
[/sourcecode]
cron.yaml
[sourcecode language="text"]
cron:
- description: tweet
url: /sotsuprobot
schedule: every 3 hours
timezone: Asia/Tokyo
[/sourcecode]
[twitter-follow screen_name='sotsupro2012' show_count='no']
0 件のコメント:
コメントを投稿