2016年11月21日 星期一

[mac][vim] error: There was a problem with the editor 'vi'. Please supply the message using either -m or -F option.


遇到

error: There was a problem with the editor 'vi'.
Please supply the message using either -m or -F option.


使用

$ git config --global core.editor

指定編輯器

2016年11月13日 星期日

[mac] mac 使用 android 的 usb 網路共用




除了使用 手機的無線基地台功能,也可以透過 usb網路共用的設定分享網路出來。



只要裝了

HoRNDIS: USB tethering driver for Mac OS X | Joshua Wise's domain
重開機後, android 手機插入電腦 開啟 usb網路共用 如果有讀取到就可以使用網路。




2016年11月11日 星期五

[哲學思想] 你為了什麼工作的呢 ? 重版出來



這幾張圖示最近在 看日劇 "重版出來" 所節錄下來的





今天整理了北京的照片,心理才想著

  • 好像時光回溯,之前回來的幾個心得
    • 他們只是比我們知道什麼時候該做什麼事情,並且好好去做
    • 很多事情要立即的去做



2016年11月9日 星期三

[python] datetime string with timezone to timestamp 轉換有時區的時間字串到時間戳



有個需求是把 時間字串轉成 epoch 的 timestamp

這個字串來說 "2016-11-07 15:47:33" UTC+8
轉換成 iso 8601 表示的話

2016-11-07T15:47:33+08:00

轉成 timestamp就是  1478504853


int((datetime.strptime(t, "%Y-%m-%d %H:%M:%S") - timedelta(hours=8)).strftime("%s")) - time.timezone

不使用其他lib的思路如下,先把 time string parse成 datetime object ,
但是因為UTC +8 跟 UTC 差了八個小時 ,所以減去 timedelta 八小時 ,就是UTC 的datetime string 。

是使用 strftime 轉成 timestamp 時,會因為環境的timezone設定有影響, 會以為這個 datetime object 是 目前的 timezone 所以,再減掉 time.timezone。
就得到最後的 timestamp。


>>> t
'2016-11-08 11:50:21'
>>> int((datetime.strptime(t, "%Y-%m-%d %H:%M:%S") - timedelta(hours=8)).strftime("%s")) - time.timezone
1478577021
>>> time.timezone
-28800



另外一個使用 pytz 的作法


import pytz
from datetime import datetime,timedelta

tp_timezone = pytz.timezone('Asia/Taipei')
tsd = datetime.strptime(t, "%Y-%m-%d %H:%M:%S").replace(tzinfo=tp_timezone)
timestamp = int(tsd.strftime("%s"))