我用的是hive版本是3.1.3,spark版本是3.3.1,它们的unix_timestamp 函数在同样的语句下转换出来的时间戳是完全不同的,如下试验所示

1.unix_timestamp 函数的坑

在这里插入图片描述
上图试验中我同样的计算 2025-07-11 10:00:00 时间点对应的时间戳,但是尽管在我换了时区的情况下,他们得到的是同一个答案,都是 1752228000 ,没错,这个时间戳就是UTC+0时间下的对应2025-07-11 10:00:00的时间戳,这点就有点坑,因为我们变化了时区,肯定是想要它转成对应时区下的时间戳。
spark
在spark-sql中是会根据所给的时间戳改变的,这里有一个细节,特别需要注意,spark.sql.session.timeZone Zone一定要大写,如果小写的话,就会跟hive一样达不到随着时间戳改变而变化

2. 时间戳和对应时区的时间之间的转换

首先需要明确的一点是时间戳的定义:它是指从自"Unix纪元"(1970-01-01 00:00:00 UTC)以来经过的秒数或毫秒数 所有它是一个绝对值,不会应为时区的变化而变化,而时区是指全球各个地区自己定义一天时间的方法。

基于上面对时间戳和时区概念的理解,我们提出一个结论,给定一个时间戳比如 1752163200 ,它是绝对的,也是不会变化的,根据这个时间戳,然后各地区根据自己所在的时区可以解析出不同的时间,比如,它表示 Asia/Shanghai(UTC+8) 时区的 2025-07-11 00:00:00 ,同时也表示Asia/Seoul(UTC+9) 时区的2025-07-11 01:00:00,同时也表示America/New_York(UTC-4)2025-07-10 12:00:00时区的等等
这是时间戳转根据时区转时间,我们可以明显看出来在时间戳转时间的时候,如果知道了一个转的结果,比如知道 Asia/Shanghai(UTC+8) 转出来的时间是 2025-07-11 00:00:00 ,那对应的 America/New_York(UTC-4) 的时间不用再用时间戳转,直接用目标时区的值(-4)减去前面基础时区的值(+8),得到-12(-4-8=-12),最后用基础时间加上前面计算出来的值就可以了,也就是2025-07-11 00:00:00加上-12个小时也就是2025-07-10 12:00:00。
如果是时间转时间戳的时候,就正好相反,用基础时区的值减去目标时区的值(由于这是时间戳计算,最后需要进行6060处理),然后和对基础时区转出来的时间戳做加法(减出来是负数就是减)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/89022.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/89022.shtml
英文地址,请注明出处:http://en.pswp.cn/web/89022.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MyBatis专栏介绍

专栏导读 在当今的软件开发领域,持久层框架的选择对于提高开发效率和数据处理能力至关重要。MyBatis作为一个半自动化的ORM框架,因其灵活、高效的特点,在众多开发者中广受好评。本专栏《MyBatis实战》旨在通过深入浅出的方式,帮助…

HarmonyOS从入门到精通:自定义组件开发指南(七):自定义事件与回调

HarmonyOS从入门到精通:自定义组件开发指南(七):自定义事件与回调 在HarmonyOS应用开发中,组件化架构是构建复杂界面的基础,而组件间的高效通信则是实现业务逻辑的核心。自定义事件与回调机制作为组件交互的…

C++编程学习(第七天)

基于过程的程序设计C既可以用来进行基于过程的程序设计,又可以用来进行面向对象的程序设计。基于过程的程序设计又称为过程化的程序设计,它的特点是:程序必须告诉计算机应当具体怎么做,也就是要给出计算机全部操作的具体过程&…

ubuntu透网方案

场景:两个linux/Ubuntu系统,一个可以上网,一个不能,让不能上网的,让能上网的共享网络 步骤 1:修改 /etc/sysctl.conf sudo nano /etc/sysctl.conf 找到或添加以下行: net.ipv4.ip_forward1 按 CtrlO 保存&a…

基于Python的物联网岗位爬取与可视化系统的设计与实现【海量数据、全网岗位可换】

文章目录有需要本项目的代码或文档以及全部资源,或者部署调试可以私信博主项目介绍数据采集数据预处理系统展示总结每文一语有需要本项目的代码或文档以及全部资源,或者部署调试可以私信博主 项目介绍 随着物联网技术的迅速发展,物联网行业…

线性回归原理推导与应用(十):逻辑回归多分类实战

本篇文章将利用sklearn中内置的鸢尾花数据进行逻辑回归建模并对鸢尾花进行分类。对于逻辑回归和线性回归的相关原理,可以查看之前的文章 数据导入 鸢尾花数据是机器学习里的常用数据,首先导入一些基础库并从sklearn中导入数据集 #导入用到的一些pytho…

Docker 部署emberstack/sftp 镜像

Docker 部署 emberstack/sftp 镜像 1、找到国内可用的docker源,本次测试使用docker.1ms.run 2、下载emberstack/sftp镜像docker pull docker.1ms.run/emberstack/sftp3、安装并启动emberstack/sftp镜像docker run -d -p 22:22 --name SFTP -v D:\SFTP:/home/sftpuser/sftp --pr…

【华为OD】MVP争夺战2(C++、Java、Python)

文章目录题目题目描述输入描述输出描述示例思路核心思路:关键观察:算法步骤:排序策略:特殊情况处理:代码CJavaPython复杂度分析时间复杂度空间复杂度结果总结题目 题目描述 给定一个整型数组,请从该数组中…

Python打卡训练营Day58

DAY 58 经典时序预测模型2知识点回顾:时序建模的流程时序任务经典单变量数据集ARIMA(p,d,q)模型实战SARIMA摘要图的理解处理不平稳的2种差分n阶差分---处理趋势季节性差分---处理季节性建立一个ARIMA模型,通…

003大模型基础知识

大模型分类: 技术架构: Encoder Only Bert Decoder Only 著名的大模型都是 Encoder - Decoder T5 是否开源: 开源阵营: Llama DeepSeek Qwen 闭源阵营: ChatGpt Gemini Claude 语言模型发展阶段&am…

JVM监控及诊断工具-GUI篇

19.1. 工具概述 使用上一章命令行工具或组合能帮您获取目标Java应用性能相关的基础信息,但它们存在下列局限: 1.无法获取方法级别的分析数据,如方法间的调用关系、各方法的调用次数和调用时间等(这对定位应用性能瓶颈…

适用于Windows系统截图工具

1.Faststone Capture 官网网址:https://faststone-capture.com/ 网上很多注册码:https://www.cnblogs.com/LiuYanYGZ/p/16839503.html 2.Snipaste 官网网址:https://apps.microsoft.com/detail/9p1wxpkb68kx?launchtrue&modefull&…

区块链的三种共识机制——PoW、PoS和DPoS原理

区块链的核心是去中心化网络的信任机制,而共识机制是实现这一目标的关键。共识机制可分为两个阶段:(1)提出共识内容(2)对内容达成共识(遵循最长链原则)。三种主流的共识机制主要有工…

React 和 Vue的自定义Hooks是如何实现的,如何创建自定义钩子

目的:将公共逻辑提取出来,类似于 mixin,解决了mixin的设计缺陷。 React 和 Vue 自定义 Hooks 实现对比 React 自定义 Hooks React 的自定义 Hooks 是 JavaScript 函数,它们以 use 开头,可以调用其他 Hooks。 基本规则 …

构建高效事件驱动架构:AWS S3与SQS集成实践指南

引言 在现代云架构中,事件驱动的设计模式越来越受到开发者的青睐。AWS S3与SQS的集成为我们提供了一个强大的事件处理机制,能够在文件上传、删除或修改时自动触发后续的业务逻辑。本文将详细介绍如何配置S3事件通知到SQS队列,并分享实际项目中的最佳实践。 架构概述 S3事…

C++ -- STL-- List

////// 欢迎来到 aramae 的博客,愿 Bug 远离,好运常伴! ////// 博主的Gitee地址:阿拉美 (aramae) - Gitee.com 时代不会辜负长期主义者,愿每一个努力的人都能达到理想的彼岸。1. list的介绍及使用 2. list的深度剖…

rt-thread 线程间同步方法详解

rt-thread 线程间同步方法详解一、什么是线程间同步线程同步的必要性线程同步的挑战二、同步方式1、信号量信号量工作机制信号量的管理方式信号量的创建与删除信号量的获取与释放信号量的典型应用场景信号量的注意事项2、互斥量互斥量工作机制互斥量的特性互斥量的操作接口互斥…

Spring Boot + Vue2 实现腾讯云 COS 文件上传:从零搭建分片上传系统

目录 一、项目目标 二、腾讯云 COS 基本配置 1. 创建存储桶 2. 获取 API 密钥 3. 设置跨域规则(CORS) 三、后端(Spring Boot)实现 1. 依赖配置 2. 配置腾讯云 COS(application.yml) 3. 初始化 COS…

使用 Java 获取 PDF 页面信息(页数、尺寸、旋转角度、方向、标签与边框)

目录 引言 一、安装和引入PDF处理库 二、获取 PDF 页数 三、获取页面尺寸(宽高) 四、获取页面旋转角度 五、判断页面方向(横向 / 纵向) 六、获取页面标签 七、获取页面边框信息 八、总结 引言 了解 PDF 页面属性是我们在…

基于 AI 的大前端安全态势感知与应急响应体系建设

大前端应用(Web、APP、小程序)作为用户交互的入口,面临日益复杂的安全威胁:从传统的 XSS 攻击、CSRF 伪造,到新型的供应链投毒、AI 驱动的自动化爬虫,再到针对业务逻辑的欺诈攻击(如薅羊毛、账号…