当前位置:首页 > 技术分析 > 正文内容

如果将excel的数字转化为日期(高级教程)

ruisui882个月前 (04-09)技术分析15

不知道大家有没有这样的体会,明明我们在单元格里输入的是一个日期,但是excel却提示我们输入的是一个数字,这个东西就很奇怪了,43471怎么就成了日期了那?

实际上这和计算机的底层设置有关系,计算机是无法直接表示日期的,它只能把数字转化为日期,excel默认1代表1900年1月1日,2代表1900年1月2日,依次类推,到了2019年1月6日就变成了43471,这种表示方式虽然很直观,有些时候也会给我们带来一定的麻烦,比如说当我们用python做自动化脚本的时候,python是不认识excel的这种日期格式的,它只能把日期识别为数字,不利于脚本后续的处理,怎么才能把excel中的时间转化成python识别的时间那?

在这里给大家介绍一个知识,python也有自己的一套时间体系,它的时间体系和linux比较类似,默认以秒计数,1970年1月1日为时间的起始,以后每隔一秒加1,这套计数规则也叫作linux时间戳,现在我就给大家介绍一种方法,将excel时间转化为linux时间戳能够识别的格式。

首先我们先计算一下1990年1月1日到1970年1月1日中间有多少天,这个不需要自己算,直接用excel的时间对象相减就可以了,然后我们把25568这个常量记录下来。

在python里引入一个time模块,里面有一个time.localtime()的方法,这个方法的作用是将时间戳转化为时间元组,大家也看到了,我的公式里有一个*24*3600,这个公式的作用就是讲excel的天转化为python里面的秒,通过结果我们发现日期差了一天,没关系,在以后计算时我们将25568写成25569就可以了。

不过时间元组并不是我们日常所见的日期形式,想要转化为2019-1-1这种形式怎么写,也很简单,使用strftime()方法就可以。这次的形式大家是不是就感觉很熟悉了。

总结:本文中用到的知识点主要是time模块

  1. 时间戳的开始时间为1970年1月1日(据说后面是8点0分0秒)
  2. time.localtime()可以将时间戳转化为时间元组
  3. time.strftime() 可以将时间元组格式成字符串
  4. 还有一个常用的方法time.mktime() 将时间元组转化为时间戳

扫描二维码推送至手机访问。

版权声明:本文由ruisui88发布,如需转载请注明出处。

本文链接:http://www.ruisui88.com/post/3375.html

分享给朋友:

“如果将excel的数字转化为日期(高级教程)” 的相关文章

Linux 最主要的发行分支

Linux 有数百个发行分支。主要的有以下四个。slackwareSlackware 是由 Patrick Volkerding 在 1992 年推出的,它是全球现存最古老的 Linux 发行版。Slackware 被设计为高度可定制和强大的,并且要求用户了解 每个元素,它的包系统是不支持依赖的。...

身体越柔软越好?刻苦拉伸可能反而不健康 | 果断练

坐下伸直膝盖,双手用力向前伸,再用力……比昨天前进了一厘米,又进步了! 这么努力地拉伸,每个人都有自己的目标,也许是身体健康、线条柔美、放松肌肉、体测满分,也可能为了随时劈个叉,享受一片惊呼。 不过,身体柔软,可以享受到灵活的福利,也可能付出不稳定的代价,并不是越刻苦拉伸越好。太硬或者太软,都不安全...

30 个纯 HTML5 实现的游戏

浏览器和 JavaScript 的功能逐年不断的变强变大。曾几何时,任何类型的游戏都需要Flash。但随着 HTML5 发展,HTML5 + WebGL 游戏式就慢慢占领着这个舞台。以下是30款流行的游戏,它们可以在所有现代浏览器中运行,并且只使用web技术构建。1. HexGL地址:http://...

vue-router是如何解析query参数呢? #前端

vue-router 中的 query 解析。1. 大家好,我是龙仔。今天来分享 vue-router 是如何解析快乐参数的,因为使用 vue 路由会传 query 参数和快乐参数,所以从 vue 的角度来看如何解析传递的快乐参数。2. 基础知识大家应知道,快乐参数结构如:a、b、c、a、b、c、a...

甘肃省2023年普通高校毕业生基层服务项目考试成绩今日公布

甘肃省2023年普通高校毕业生基层服务项目考试成绩今日公布每日甘肃网7月12日讯据兰州日报报道 近日,记者从甘肃省人力资源考试中心了解到,甘肃省2023年普通高校毕业生基层服务项目(三支一扶、特岗计划、西部计划)考试成绩于7月12日9:00开通查询。考生可登录“甘肃人事考试网”,点击“成绩查询”栏目...

HarmonyOs开发:轮播图Banner组件封装与使用

前言轮播图在每个项目中都很常见,鸿蒙中在容器组件中也提供了Swiper组件,用于子组件滑动轮播显示,和前端的使用起来也是异曲同工,我们先看下基本的用法。Swiper() { ForEach(["1", "2", "3", "...