我知道这里有很多日期时间解析问题,当然,网上也有很多文档,但即便如此,经过数小时的阅读,我仍然在摸索最好的方法,反复试验(而且,男孩,是否有错误)。
因此,我需要在 linux 下解析 SAR 内存日志,以 JSON 格式返回数据,以便在浏览器中以图形格式呈现。
我就快到了——它在 Chrome 中看起来很棒,但我需要改进输出日期格式以最大化 x 浏览器的功能。
所以,要做到这一点,我需要做两件事
- 设置为我正在阅读的 sar 日志日期的日期时间对象
- 来自日志条目的字符串,格式为“10:01:30 PM”
我希望能够将这些组合成一个格式为 'YYYY-MM-DDT22:01:30' 的字符串
我现在使用的bodge是
jDict['timestamp'] = d.strftime("%Y-%m-%d") + " " + timeStr
其中 d 是我的日期时间对象,timeStr 是日志条目中的时间字符串。Chrome 让我养成了坏习惯,并且很乐意解析这种格式,但 FF 更严格。
下面的编辑 @dawg 要求提供输入和输出示例
sar 日志格式示例:
05:15:01 PM 2797588 13671876 83.01 228048 8276332 8249908 39.92
05:25:01 PM 2791396 13678068 83.05 228048 8276572 8455572 40.92
05:35:01 PM 2786104 13683360 83.08 228048 8282040 8249852 39.92
当前输出格式:
[
{"timestamp": "2014-02-03 01:35:01 PM", "memtot": 16469464, "memused": 15747980},
{"timestamp": "2014-02-03 01:45:01 PM", "memtot": 16469464, "memused": 15791088},
{"timestamp": "2014-02-03 01:55:01 PM", "memtot": 16469464, "memused": 15690408}
]
显然我在这里没有匹配时间和日期 - 只是一些随机行