1. MySQL 日期比較大小
存儲格式為 2017-1-1 0:0:0, 至匹配年月日杈抢,如下匹配:
mysql> select * from user_comment_likes where date(operated_at)='2017-10-12';
mysql> select * from user_comment_likes where Year(operated_at)='2017';
mysql> select * from user_comment_likes where Month(operated_at)='10';
數(shù)據(jù)庫中存儲的是unix時間戳,顯示成日期格式:
mysql> select from_unixtime(created) from comment_likes limit 1;
2. Python中unix時間戳和字符串時間的互轉(zhuǎn)
- 用python time模塊生成mysql datetime日期 time.strftime("%Y-%m-%d %H:%M:%S")
- 用python time模塊實(shí)現(xiàn)unix時間戳和標(biāo)準(zhǔn)日期的轉(zhuǎn)換
unix時間戳轉(zhuǎn)標(biāo)準(zhǔn)時間
In[57]: t = time.localtime(1507800598.375)
In[58]: time.strftime("%Y-%m-%d %H:%M:%S", t) # 時分秒還可用%T
Out[58]: '2017-10-12 17:29:58'
標(biāo)準(zhǔn)時間轉(zhuǎn)unix時間戳
In[41]: t = time.strptime("2017-10-12 17:31:03", "%Y-%m-%d %H:%M:%S")
In[42]: time.mktime(t)
Out[42]: 1507799429.0
datetime模塊處理日期
In [1]: from datetime import datetime, timedelta
In [2]: now = datetime.now()
In [3]: now
Out[3]: datetime.datetime(2017, 10, 24, 23, 25, 29, 521355)
In [4]: print(now)
2017-10-24 23:25:29.521355
In [5]: today = now.strftime("%Y-%m-%d %T")
In [6]: today
Out[6]: '2017-10-24 23:25:29'
對日期做增減
In [9]: date = '2017-10-24 23:25:29'
In [12]: now = datetime.strptime(date, "%Y-%m-%d %H:%M:%S")
In [13]: now
Out[13]: datetime.datetime(2017, 10, 24, 23, 25, 29)
In [15]: pre = now - timedelta(days=1)
In [16]: pre
Out[16]: datetime.datetime(2017, 10, 23, 23, 25, 29)
In [17]: pre.strftime("%Y-%m-%d %T")
Out[17]: '2017-10-23 23:25:29'
獲得本周周一
In[204]: monday = datetime.now() - timedelta(days=datetime.now().weekday())
In[205]: monday
Out[205]: datetime.datetime(2017, 11, 6, 17, 38, 52, 99000)
In[206]: monday.strftime("%Y-%m-%d")
Out[206]: '2017-11-06'
datetime操作時間戳
datetime.fromtimestamp(time.time())
Out[207]: datetime.datetime(2017, 11, 10, 17, 40, 38, 876000)
3. git的使用
- 生成密鑰公鑰,公鑰放到服務(wù)器端
- git branch 查看分支
- git branch -d(D) tagetBranch 刪除(強(qiáng)制)本地分支
- git checkout tagetBranch 切換分支脱篙,可切換到本地沒有但服務(wù)器端有的分支
- git add yourFile 把更改部分添加到緩存區(qū)
- git commit -m '備注' 把緩存區(qū)內(nèi)容提交到HEAD區(qū)
- git pull [origin targetBranch] 拉取服務(wù)器最新的代碼
- git push origin targetBranch 把HEAD中內(nèi)容推送到遠(yuǎn)端服務(wù)器
- git stash 用于當(dāng)前代碼沒有提交到緩存區(qū),切換分支時使用除破,再切換回來時用git stash apply恢復(fù)現(xiàn)場
- git submodule update --init --recursive 更新項目中的submodule模塊
注意: 代碼完成合并到master后,本地以及遠(yuǎn)程分支都要刪除琼腔。
11.6 補(bǔ)充
- git fetch origin master 獲取遠(yuǎn)程master分支代碼同步到現(xiàn)在分支
- git push origin --delete targetBranch 刪除遠(yuǎn)程分支
4. 定時任務(wù)
- crontab -e 編輯定時任務(wù)
- crontab -l 瀏覽正在執(zhí)行的定時任務(wù)
- ' * * * * * ' 分 時 天 月 周
# 每半個小時執(zhí)行一次腳本
*/30 * * * * cd /home/bot/services/circle-admin/script/; /home/bot/services/pyenv27/bin/python update_user_comment_like_data.py
# 每天0點(diǎn)執(zhí)行一次腳本
0 0 * * * python test.py
參考:
http://yiranwuqing.iteye.com/blog/960836
http://linuxtools-rst.readthedocs.io/zh_CN/latest/tool/crontab.html
5. PyCharm連接遠(yuǎn)端服務(wù)器
- 同步本地代碼到服務(wù)器 Tools/Deployment/Configurations
- 提交代碼到服務(wù)器 VCS/commit
6.日志
- 為單獨(dú)一個腳本配置日志路徑時瑰枫,用單獨(dú)的handler去處理
logger = logging.getLogger("comment_like")
filename = 'logs/update_user_comment_like_data.log'
formatter = logging.Formatter("%(asctime)s %(levelname)s: %(message)s")
handler = logging.FileHandler(filename)
handler.setFormatter(formatter)
logger.setLevel(logging.INFO)
logger.addHandler(handler)
不要用basicConfig,因為這會修改整個的日志輸出路徑
logging.basicConfig(
level=logging.INFO,
format='[%(asctime)-15s %(filename)s line:%(lineno)d] %(levelname)-8s %(message)s',
filename='logs/update_user_comment_like_data.log',
filemode='a'
)