关于json编码时间格式的转换
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于json编码时间格式的转换相关的知识,希望对你有一定的参考价值。
在上次您帮助解决的问题中,"date":"1386827229","price":0.00033,"amount":100000,"tid":"1480636","type":"buy",date字段应该是时间格式的,但经过json编码后成了数值格式,在php+mysql组合中用什么办法能把他转换回来呢。谢谢。
数据库中存日期一般都是按时间戳来存比较好一点,只是在把它从数据库中取出来时用date()函数格式化一下即可。 date()函数的时间格式有 很多种,你可以看一下php函数手册,看你需要哪种日期格式,然后再转化。当然也可以先转化,再存入数据库,看你喜欢哪种方式。
如果你想直接存日期格式的话,可以在 上次的代码 中添加:
$arr = json_decode($result, true);foreach($arr[data] as $key=>$val)
$arr[data][$key]['date'] = date("Y-m-d H:i:s",$val['date']);
print_r($arr);就转化为日期格式了,然后就可以按照你的方式存库了。来自:求助得到的回答 参考技术A $jData = '"date":"1386827229","price":0.00033,"amount":100000,"tid":"1480636","type":"buy"';
$arr = json_decode($jData, true);
$date = date('Y-m-d H:i:s', $arr['date']); //时间显示格式有多种,具体看下date()函数说明。
echo $date;
关于爬虫的编码格式问题
UnicodeEncodeError: ‘gbk‘ codec can‘t encode character ‘uc0ac‘ in position
爬虫编码想从把构造的字典信息写进文件。
有两种方法:
一、用json
import json
js=json.dumps(a)
fp.writelines(js+‘ ‘)
二、直接强制转换
fp.write(str(a)+‘ ‘)
利用第一种方法输入网页信息,中文会变成编码。
采用第二种方法,中文信息进行保留,但是,有时候会提出错误‘UnicodeEncodeError: ‘gbk‘ codec can‘t encode character ‘uc0ac‘ in position‘.
此时,在文件的目录下面创造一个utf-8编码的txt。并且fp的编码格式改为utf-8
fp=open("top500.txt","at",encoding=‘utf-8‘)
以上是关于关于json编码时间格式的转换的主要内容,如果未能解决你的问题,请参考以下文章
关于“任意编码”的txt格式的文本文档“批量转换”为同一种编码的文本文件,要能自动识别源编码(200分)