ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 4206|回复: 11

[求助] VBA如何将json的时间数字串转换为正常格式?

[复制链接]

TA的精华主题

TA的得分主题

发表于 2014-5-7 19:52 | 显示全部楼层 |阅读模式
本帖已被收录到知识树中,索引项:网页交互
本帖最后由 issykul 于 2014-5-8 07:09 编辑

如下"addtime":"1398739636"为时间,但是如何将1398739636转换为能看得懂的时间格式?用VBA什么函数?还是需要用java来编程?  {"account":"10616.490000","addtime":"1398739636","auto_repurchase":1,"award_after_push":0,"borrow_account":0,"borrow_id":2004,"id":15121,"interest":"176.941500","is_auto_tender":0,"money":"10616.490000","repay_account":"10793.431500","repay_time":"1401379199","repayment_account":"10793.431500","repayment_yesaccount":"0.000000","site_id":0,"status":0,"user_id":16711,"username":"*onghuimin","wait_account":"10793.431500","wait_interest":"176.941500"},

TA的精华主题

TA的得分主题

 楼主| 发表于 2014-5-8 07:18 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
不知道是否有经验共享?

TA的精华主题

TA的得分主题

发表于 2014-5-8 08:32 | 显示全部楼层
issykul 发表于 2014-5-8 07:18
不知道是否有经验共享?

请问:1398739636显示的日期是什么?知道显示的日期后才有可能推算出两者的计算公式。

TA的精华主题

TA的得分主题

发表于 2014-5-8 08:58 | 显示全部楼层
chxw68 发表于 2014-5-8 08:32
请问:1398739636显示的日期是什么?知道显示的日期后才有可能推算出两者的计算公式。

http://www.w3school.com.cn/jsref/jsref_obj_date.asp

TA的精华主题

TA的得分主题

发表于 2014-5-8 08:59 | 显示全部楼层
本帖最后由 ccwan 于 2014-5-8 09:01 编辑

我也想知道怎么反推

TA的精华主题

TA的得分主题

发表于 2014-5-8 10:32 | 显示全部楼层
如果addtime是秒数

Private Sub CommandButton1_Click()
  Dim addtime, x#
  addtime = 1398739636
  x = addtime / 86400
  MsgBox Format(x, "yyyy-m-d hh:mm:ss")
End Sub

TA的精华主题

TA的得分主题

发表于 2014-5-8 10:48 | 显示全部楼层
我以前做过两个自定义函数:
Function Long2Date(t)
    Long2Date = t / 24 / 3600 + DateSerial(1970, 1, 1) + TimeSerial(8, 0, 0)
End Function

Function Date2Long(t)
    Date2Long = (t - DateSerial(1970, 1, 1) - TimeSerial(8, 0, 0)) * 24 * 3600
End Function

1398739636是从格林威治时间的1970年1月1日0点到某个时间的秒数。中国处于东八区,所以转换时要加或减去8个小时。

TA的精华主题

TA的得分主题

 楼主| 发表于 2014-5-8 10:49 | 显示全部楼层
本帖最后由 issykul 于 2014-5-8 10:51 编辑


VBA如何调用java编程啊?

TA的精华主题

TA的得分主题

发表于 2014-5-8 11:04 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 bluexuemei 于 2014-5-8 11:06 编辑
  1. Sub bxm()
  2. Dim x
  3. x = 1398739636 / 3600 / 24 + #1/1/1970 8:00:00 AM#
  4. MsgBox x
  5. End Sub
复制代码

TA的精华主题

TA的得分主题

 楼主| 发表于 2014-5-8 11:06 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
wcymiss 发表于 2014-5-8 10:48
我以前做过两个自定义函数:
Function Long2Date(t)
    Long2Date = t / 24 / 3600 + DateSerial(1970,  ...

高人啊!  不胜感激
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-5-7 05:52 , Processed in 0.041006 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表