python highchart 时间戳转换

    首先是Python的日期类型和时间戳类型的相互转换,如下:

import time
import datetime
#日期转时间戳
s="2015-01-23 08:24:37"
#将字符串格式转换为时间格式,后面对应着可以自己调
d=datetime.datetime.strptime(s,"%Y-%m-%d %H:%M:%S")
timestamp=time.mktime(d.timetuple())
print timestamp

#时间戳转日期
stamp=1421972677.0
data_time=time.strftime("%Y-%m-%d %H:%M:%S",time.localtime(float(stamp)))
print data_time

打印出来的结果是:

1421972677.0
2015-01-23 08:24:37

这里注意时间戳的单位是秒

在使用highchart的时候,若传入的数值是时间戳类型,且需要x轴或者y轴显示时间类型,highchart的参数配置如下:

xAxis:{
      labels: {
        formatter: function() {
                  return  Highcharts.dateFormat('%M:%S', this.value);
        }
    }
}

这里显示的格式可以自己配置,具体查看highcart文档

就是在这里,折腾好久发现对不上,Django后台使用的是Python,传参传的是Python转换之后的时间戳,highchart后台使用的是js,我特地去查js的时间戳转换,然后就发现问题了,js使用dataFormat函数时,默认传入的时间戳是以毫秒为单位的,而Python是以秒为单位!接下来知道怎么处理了吧,传参的时候要么Python后台处乘1000,要么在highchart的配置中乘1000,然后就得到你想要的样子啦

你可能感兴趣的:(python,转换,时间戳,highchart,事件类型)