问问题
287 次
1 回答
1
如何从以秒为单位的 unix 时间到 ISO-8601 格式的日期时间?
'date' 'days'⎕CY'dfns'
unix0←days 1970 1 1
sPerDay←24×60×60
UnixToTs←date unix0+÷∘sPerDay
TsToIso←{'--T::'@(2+3×⍳5)∊⍕¨(⊃,100+1∘↓)6↑⍵} ⍝ modified from aplcart.info?q=iso8601
UnixToIso←TsToIso UnixToTs
UnixToIso 1580490155
2020-01-31T17:02:35
为了您的方便,下面是相反的:
IsoToTs←⍎¨∊∘⎕D⊆⊢
TsToUnix←sPerDay×unix0-⍨days
IsoToUnix←TsToUnix IsoToTs
IsoToUnix '2020-01-31T17:02:35'
1580490155
使用正则表达式获取 unix 时间
如果您的文件是一致的,我建议使用 APL 来提取数据,因为它可以产生巨大的速度差异。例如,如果所有行都使用这种精确格式:
v←(⍎¯10↑43∘↑)¨⊃⎕NGET'/Users/ludo/Desktop/so/ping.txt' 1
DISPLAY v
┌→────────────────────┐
│1580490155 1580490214│
└~────────────────────┘
为什么 [] 和 ⊃ 的使用之间的排名差异?
[
…<code>] 从不公开(“打开”)它从数组中提取的元素,因此嵌套数组的元素保持封闭。
我们是否在一种情况下有一个向量,在另一种情况下有一个简单的字符串(标量)?
是的,尽管在一种情况下最好将其表述为向量,而在另一种情况下将其表述为封闭向量。
为什么 ⍴⍴v[1] 为零?
因为标量的秩(即使它包含更高秩的数组)为零。
于 2020-02-02T08:12:53.477 回答