什么是在MDX中轻松将秒转换为时间戳(HH:MM:SS)的方法?我也想研究提供的日子。我打算通过使用一堆计算成员作为值,然后将它们全部格式化为一个字符串,但似乎必须有一个更好,更清晰的方法来做它。
答案 0 :(得分:1)
您可以将秒数除以3600 * 24,这样您就有了几天,然后使用这样的格式字符串:
with member measures.duration as seconds / (3600.0 * 24.0)
,format_string = 'hh:mm:ss'
如果你有超过一天的持续时间,那么这可能会有点棘手,但你可以在这里找到解决方案:http://sqlblog.com/blogs/mosha/archive/2008/09/26/displaying-duration-values-mdx-expressions-in-format-string.aspx
答案 1 :(得分:0)
这是一个例子:
# -*- coding: utf-8 -*-
import re
from subprocess import Popen, PIPE, check_output
def get_processes_running():
"""
Takes tasklist output and parses the table into a dict
"""
tasks = check_output(['tasklist']).decode('cp866', 'ignore').split("\r\n")
p = []
for task in tasks:
m = re.match(b'(.*?)\\s+(\\d+)\\s+(\\w+)\\s+(\\w+)\\s+(.*?)\\s.*', task.encode())
if m is not None:
p.append({"image":m.group(1).decode(),
"pid":int(m.group(2).decode()),
"session_name":m.group(3).decode(),
"session_num":int(m.group(4).decode()),
"mem_usage":int(m.group(5).decode('ascii', 'ignore'))
})
return( p)
def test():
print(*[line.decode('cp866', 'ignore') for line in Popen('tasklist', stdout=PIPE).stdout.readlines()])
lstp = get_processes_running()
for p in lstp:
print(p)
return
if __name__ == '__main__':
test()