平常配置表中,經常需要用到時間配置,比如活動開始結束。從可讀性上,我們喜歡2017-04-27 17:00:00,從程式角度,我們喜歡用1493283600。前者是包含時區概念的,而後者時區無關,所以一般推薦直接使用數字時間戳格式來配置。
實際配置時,之前一直用mysql的from_unixtime()和unix_timestamp函式,或者使用網頁工具進行時間戳檢視轉換,十分繁瑣。
1.依次執行tools->developer->new plugin,新建乙個外掛程式指令碼,命名為timestamp.py
2.新增指令碼**,具體可以看注釋:
from datetime import datetime
import re
import time
import sublime
import sublime_plugin
def getparseresult(text):
#patten1 匹配10位整數時間戳(1493283600)
pattern1 = re.compile('^\d')
match1 = pattern1.match(text)
#pattern2 匹配可讀時間格式(2017-04-27 17:00:00)
pattern2 = re.compile('^(\d)-(\d)-(\d)\s(\d):(\d):(\d)')
match2 = pattern2.match(text)
if text in ('now'):
result = datetime.now().strftime('%y-%m-%d %h:%m:%s')
elif text in ('ts', 'timestamp'):
result = str(time.time()).split('.')[0]
elif match1:
timestamp = int(match1.group(0))
timearray = time.localtime(timestamp)
result = time.strftime('%y-%m-%d %h:%m:%s', timearray)
elif match2:
timearray = time.strptime(text, "%y-%m-%d %h:%m:%s")
result = str(time.mktime(timearray)).split('.')[0]
return result
class timestampcommand(sublime_plugin.textcommand):
def run(self, edit):
for s in self.view.sel():
if s.empty() or s.size() <= 1:
break
# 只處理第乙個region
text = self.view.substr(s)
print(text)
# 得到轉換結果
result = getparseresult(text)
# 進行文字替換並彈窗顯示
self.view.replace(edit, s, result)
self.view.show_popup(result, sublime.hide_on_mouse_move_away, -1, 600, 600)
break
3.進行快捷鍵繫結,依次執行preferences->key bindings,新增**
很簡單,乙個方便檢視轉換時間戳的外掛程式就寫好了。選中文字,按快捷鍵ctrl+t,效果圖:
Sublime Text3使用技巧
二 使用技巧 在sublime text中,支援模糊搜尋 1.goto anything 快捷鍵 ctrl p 1 可以查詢檔案 2 通過 在css查詢選擇器。在js查詢函式。2.多行游標 選擇方式 1 ctrl d 新增 2 ctrl k 跳過 3 alt f3 多選 4 ctrl a ctrl ...
sublime Text3 破解安裝
作為強大而小巧,且快捷的sublimetext,怎麼能夠允許不時彈個框提醒你購買,並且頂部有未註冊這樣破壞美感的存在呢?ok,點開help,填入註冊碼即可消除此問題。sublime text 3 3103 註冊碼 begin license michael barnes single user li...
sublime text3 搭建python環境
解壓,安裝。pythonsetup.py install setpython path c python27 c python27 scripts 指向實際python安裝路徑 重型的python ide推薦pycharm,輕型的sublime。這裡搭建sublime text3的python編譯環...