我想在 Firebird 上获得 unix 时间

2024-04-21

我想在 firebird 中获取时间,类似于 Javascript 上的 GetTime 我已经创建了一个,但每天的时差增量并不那么准确

CREATE PROCEDURE GETTIMEINMILLISECONDS
RETURNS (
  MILL VARCHAR(50)
)
AS
  DECLARE VARIABLE VAR_PARAM INTEGER;
BEGIN
select
(((extract(year from current_timestamp)
  -extract(year from cast('01/01/1970 00:00:00' as timestamp))) *  31536000000) +
(extract(month from current_timestamp) * 2592000000) +
(extract(day from current_timestamp)   *  8640000) +
(extract(Hour from current_timestamp)   * 3600000) +
 (extract(minute from current_timestamp) * 60000) +
  (extract(second from current_timestamp) * 1000))-192960000
  from rdb$database  into :Mill;
  suspend;
END
;

在 Firebird 2.1 及更高版本上,您可以使用

select DATEDIFF(second, timestamp '1/1/1970 00:00:00', current_timestamp)
from rdb$database

对于早期版本,您可以使用 FreeAdhocUDF 中的 UDF F_AGEINSECONDS:

select F_AGEINSECONDS('1/1/1970 00:00:00', current_timestamp) from
rdb$database

See 回复:[firebird-support] 如何将 TIMESTAMP 转换为 unix 时间戳(自纪元以来的秒数) http://fb-list-archive.s3-website-eu-west-1.amazonaws.com/firebird-support/2009/6/102699.html

如果您不是 GMT,则需要通过将时区偏移添加到时间戳来考虑您当前的时区。例如,对于 CEST (+2:00),您将需要使用:

select DATEDIFF(second, timestamp '1970-01-01 02:00:00', current_timestamp)
from rdb$database

(注意我在这里切换到 ISO-8601 日期格式)

在 Firebird 4.0 中,您可以通过使用TIMESTAMP WITH TIME ZONE文字:

select DATEDIFF(second, timestamp '1970-01-01 00:00:00 UTC', current_timestamp)
from rdb$database
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我想在 Firebird 上获得 unix 时间 的相关文章

随机推荐

  • Grails 使用来自 POST 请求的 XML 填充参数

    我有一个通过 grails 控制器公开的 RestFull grails api 我需要自动绑定 POST 请求中发送的 xml 数据 我不认为使用groovybindData object params 工作作为params参考似乎没有
  • 向循环中添加代码如何使其速度更快?

    我有一个带有内部循环的简单函数 它缩放输入值 在查找表中查找输出值 并将其复制到目的地 ftol ambient是我从网上复制的一个技巧 用于将float快速转换为int for i 0 i lt iCount i iScaled ftol
  • 我一直在尝试找到一种方式来展示两者gifs and videos mp4 ogg webm 在同一个标 签内 所以 如果在一个
  • 请描述您在尽量减少使用全局变量方面的挣扎[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • ReplayKit 获取视频而无需转到 RPPreviewViewController

    我正在使用 ReplayKit 但我的问题是我需要获取视频 或临时视频 而不必通过 RPPreviewViewController 我正在使用以下内容 但必须使用 RPPreviewViewController 还有其他方法吗 void s
  • Windows 开箱即用支持的语言

    我被要求为一组 Windows 机器 我认为是 XP 编写一个 非常 简单的程序 如此简单以至于语言的选择并不是真正的问题 但是 我希望能够分发直接在 Windows 计算机上运行的二进制文件 脚本 而不需要预先安装任何解释器或虚拟机 我正
  • 如何使用 PKCS11Interop 管理网络故障并避免错误

    在 Safenet HSM 上使用 PKCS11Interop 时 出现此错误 方法 C OpenSession 返回 2147484548 在我的文档中 错误是 CKR SMS ERROR 安全消息系统的一般错误 可能由 HSM 故障或网
  • 如何在 php5/ubuntu 中安装 pspell?

    我正在尝试在 Ubuntu 中安装适用于 PHP 5 的 pspell 我已经安装了运行 pspell 所需的 aspell 库 如图所示here http www php net manual en pspell requirements
  • 如何在.NET中针对不同环境使用不同的.settings文件?

    NET 允许您使用 settings 文件来管理应用程序设置 我想单独存储生产 开发和测试设置 我可以这样做 EnvironmentSettings environmentSettings get the current environme
  • 如何在触摸事件上移动画布中的 ShapeDrawable

    我正在尝试在 Android 中实现绘图应用程序 用户应该能够选择和移动绘制的形状 目前我已经在绘图画布上静态绘制了一些矩形和文本 View mDrawingCanvas new View mContext ShapeDrawable re
  • 如何使用 Seaborn 修改 Violinplot 的边缘颜色

    我正在尝试更改 Seaborn 中小提琴的边缘颜色 下面的代码对我有用 ax sns violinplot data df x y SleepAmount hue Thr palette my pal split True linewidt
  • 用空元素拆分 Java 中的字符串

    我正在逐行读取 csv 文件 一行可以如下所示 String str 10 1 现在我想根据 来分割 String splitted str split 现在的问题是 这只会产生 2 个元素 但我想要 5 个元素 前两个元素应包含 10 和
  • 如何以编程方式更改 Windows 7 Aero/窗口边框颜色?

    我正在考虑制作一个程序 根据电池电量改变 Windows 7 的航空颜色 我对 C 相当陌生 我想知道如何以编程方式更改 Windows 7 Aero 我有这个代码 DllImport dwmapi dll EntryPoint 127 P
  • IllegalArgumentException:找不到片段 id 的视图

    正在抛出此异常 引起原因 java lang IllegalArgumentException 找不到片段 MainActivityFragment 37dff01 1 id 0x7f0e006b FFTAG 的 id 0x7f0e006b
  • 将nodejs应用程序部署到谷歌云平台[关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我注册了谷歌云平台的免费试用 但我被卡住了 我的应用程序是一个使用express的节点服务器 它需要连接
  • 根据 $_POST 值填充字段

    我正在寻求有关我试图填写的表格的帮助 我通常会使用 onChange 函数 但我认为这不是一个选择 基本上我有一个
  • Spring Boot 外部 jar 未加载

    我有一个带有 spring boot 的 java 项目 我需要从外部文件夹加载 application properties 和依赖项 jar 我通过在类路径中使用 application properties 进行测试 并且 loade
  • 如何使用 Quartz2D 绘制可动画的标尺?

    我想用 Quartz2D 画一把简单的尺子的线条 仅供练习 由于我不知道如何在 iPhone 上以编程方式制作矢量图形 也许有人可以给我指点一个好的入门教程 正如普拉门指出的那样 石英 2D 文档 https developer apple
  • 由于级联触发器更新该行,该行未被删除

    我在删除表中的行时遇到问题 该表具有调用第二个表的触发器的触发器 该触发器更新第一个表中的行 这是描述 Table A id b table count Table B id a table id fk 表 A 有一个 BEFORE DEL
  • 我想在 Firebird 上获得 unix 时间

    我想在 firebird 中获取时间 类似于 Javascript 上的 GetTime 我已经创建了一个 但每天的时差增量并不那么准确 CREATE PROCEDURE GETTIMEINMILLISECONDS RETURNS MILL