找回密码
 立即注册

QQ登录

只需一步,快速开始

admin/
金牌服务用户   /  发表于:2024-8-7 09:25  /   查看:885  /  回复:7
1金币


mysql用FROM_UNIXTIME处理了一下好像不咋行,这个时间戳是什么格式来的,怎么转成可读的时间




附件: 您需要 登录 才可以下载或查看,没有帐号?立即注册

最佳答案

查看完整内容

试试下面这个sql

7 个回复

倒序浏览
最佳答案
最佳答案
静W_01
初级会员   /  发表于:2024-8-7 09:25:02
来自 2#
试试下面这个sql

  1. -- 假设儒略日数为 45395.5930756713
  2. SET @julian_day = 45395.5930756713;

  3. -- 计算整数部分
  4. SET @date_part = FLOOR(@julian_day);

  5. -- 计算小数部分
  6. SET @time_part = @julian_day - @date_part;

  7. -- 转换整数部分为日期
  8. SET @date = DATE('1970-01-01') + INTERVAL (@date_part - 2440587.5) DAY;

  9. -- 计算小时、分钟和秒
  10. SET @hours = FLOOR(@time_part * 24);
  11. SET @minutes = FLOOR((@time_part * 24 - @hours) * 60);
  12. SET @seconds = FLOOR(((@time_part * 24 - @hours) * 60 - @minutes) * 60);

  13. -- 组合日期和时间
  14. SELECT CONCAT(
  15.     @date,
  16.     ' ',
  17.     LPAD(@hours, 2, '0'),
  18.     ':',
  19.     LPAD(@minutes, 2, '0'),
  20.     ':',
  21.     LPAD(@seconds, 2, '0')
  22. ) AS datetime;
复制代码
回复 使用道具 举报
admin/
金牌服务用户   /  发表于:2024-8-7 11:34:49
3#
静W_01 发表于 2024-8-7 09:49
试试下面这个sql

啊活字格这个字段要这样才能转换吗,试了一下好像不太行,不过我大体了解大佬的思路了
回复 使用道具 举报
experdot
高级会员   /  发表于:2024-8-7 12:00:37
4#
本帖最后由 experdot 于 2024-8-7 12:01 编辑

这个日期格式叫 OADate,一般是从数据库中查出来后,通过具体的编程语言进行转换,不直接用sql转。或者把数据粘贴到Excel中,给单元格设置数字格式为日期,就可以显示为日期文本了。
回复 使用道具 举报
Grayson.Shang活字格认证 Wyn认证
超级版主   /  发表于:2024-8-7 12:27:14
5#
感谢大佬支持,活字格中存储的日期数据,确实如楼上大佬所说,是OADate类型,表现形式,就是一个小数,整数部分表示,从1900/01/01到具体日期的天数,小数部分表示当天的具体时间。
当然活字格中这样存储,也有对应的展示方式,一是使用日期单元格的类型,不需要做转换就可以展示,另一种就是通过Text函数格式化成指定的格式进行展示,具体使用可以参考Excel中Text函数的使用。
想问一下楼主,咱们是在什么地方使用这个视图中的日期的呢?
回复 使用道具 举报
admin/
金牌服务用户   /  发表于:2024-8-7 13:33:59
6#
Grayson.Shang 发表于 2024-8-7 12:27
感谢大佬支持,活字格中存储的日期数据,确实如楼上大佬所说,是OADate类型,表现形式,就是一个小数,整数 ...

BI里想查一下数据做个审批类的报表,
CONCAT(
        DATE_FORMAT(DATE_ADD(@base_date, INTERVAL b.start_time_ DAY), '%Y-%m-%d'),
        ' ',
        TIME_FORMAT(SEC_TO_TIME(MOD(b.start_time_ * 24 * 3600, 86400)), '%H:%i:%s')
语句里加上这个,然后SQL开头定义一下base_date就行了
回复 使用道具 举报
admin/
金牌服务用户   /  发表于:2024-8-7 16:36:54
7#
Grayson.Shang 发表于 2024-8-7 12:27
感谢大佬支持,活字格中存储的日期数据,确实如楼上大佬所说,是OADate类型,表现形式,就是一个小数,整数 ...

尚工那个持续时间是记录的什么格式
回复 使用道具 举报
Grayson.Shang活字格认证 Wyn认证
超级版主   /  发表于:2024-8-7 18:07:04
8#
admin/ 发表于 2024-8-7 16:36
尚工那个持续时间是记录的什么格式

我这边看了一下,猜测应用是毫秒数

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部