PowerQuery技巧之Unix时间戳转换

合集下载

把unix时间戳转化为标准时间

把unix时间戳转化为标准时间
输出:2008 07-11 21:13:47
注意:此时处理的数据为系统毫秒不是UNIX时间戳
3、讲时间转换成UNIX时间戳
long epoch = new java.text.SimpleDateFormat (“dd/MM/yyyy HH:mm:ss”).parse(“09/22/2008 16:33:00″).getTime();
2.public String TimeStamp2Date(String timestampString){
3. Long timestamp = Long.parseLong(timestampString)*1000;
4. String date = new java.text.SimpleDateFormat("dd/MM/yyyy HH:mm:ss").format(new java.util.Date(timestamp));
Java将Unix时间戳转换成普通日期型的函数
有时候需要将Unix时间戳转换成我们能看懂的形式,可采用如下函数:
Java 代码
1.//Convert Unix timestamp to normal date style
System.out.println(“当前的时区:”+timezone_info);
System.out.println(“时区信息:”+TimeZone.getDefault());
输出:
当前的时区:Asia/Shanghai
时 区信息:sun.
把当前时间加2周
SimpleDateFormat sdf = new SimpleDateFormat(“yyyy-MM-dd”);

Unix时间戳转换Excel时间

Unix时间戳转换Excel时间

Unix时间戳转换Excel时间
Excel默认不⽀持Unix格式时间戳,这在导⼊数据时⼗分不便。

可以⽤以下公式将时间戳转换成Excel格式的时间:
=(x 8*3600)/86400 70*365 19
其中x为时间戳的单元格,8*3600中的8为中国的时区。

然后将公式单元格设置为⽇期时间格式即可。

转换结果如下图:
这个公式的原理:Excel的⽇期实际上是序列值,它以1900-1-1为1,每过⼀天序列值加1。

⽽Unix时间戳是从1970-1-1 0:00:00 UTC开始到现在经过的秒数。

⽤x表⽰时间戳,可得到换算公式:
x 8*3600 当前时区的时间(秒) (x 8*3600)/86400 转换单位为天 (x 8*3600)/86400 70*365 加上1900到1970这七⼗年 (x 8*3600)/86400 70*365 19 闰年多出来的天数
细⼼的话你会发现,1900年到1970年共是17个闰年,考虑到Excel将1900-1-1当作1,那么公式最后应该加18才对,为什么要加19?这是Excel中的⼀个bug——1900年也被当作闰年,因此应当再多加⼀天。

另外要注意,在Excel的⼯具->选项->重新计算中,有个1904年⽇期系统,如果勾选这个选项,上⾯的公式应当将70改为66,即
=(x 8*3600)/86400 66*365 19。

PHP中UNIX时间戳和日期间的转换与计算实例

PHP中UNIX时间戳和日期间的转换与计算实例

PHP中UNIX时间戳和⽇期间的转换与计算实例UNIX时间戳是保存⽇期和时间的⼀种紧凑简洁的⽅法,是⼤多数UNIX系统中保存当前⽇期和时间的⼀种⽅法,也是在⼤多数计算机语⾔中表⽰⽇期和时间的⼀种标准格式。

以32位整数表⽰格林威治标准时间,例如,使⽤证书11230499325表⽰当前时间的时间戳。

UNIX时间戳是从1970年1⽉1⽇零点(UTC/GMT的午夜)开始起到当前时间所经过的秒数。

1970年1⽉1⽇零点作为所有⽇期计算的基础,这个⽇期通常成为UNIX纪元。

因为UNIX时间戳是⼀个32位的数字格式,所以特别适⽤于计算机处理,例如计算两个时间点之间相差的天数。

另外,由于⽂化和地区的差异,存在不同的时间格式,以及时区的问题。

所以UNIX时间戳也是根据⼀个时区进⾏标准化⽽设计的⼀种通⽤格式,并且这种格式可以很容易地转换为任何格式。

也因为UNIX时间戳是⼀个32位的证书表⽰的,所以在处理1902年以前或2038年以后的事件将会遇到⼀些问题。

另外,在Windows下,由于时间戳不能为负数,所以使⽤PHP中提供的时间戳函数处理1970年之前的⽇期,就会发⽣错误。

要使PHP代码具有可移植性,必须记住这⼀点。

将⽇期和时间转变成UNIX时间戳在PHP中,如果需要将⽇期和时间转变成UNIX时间戳,可以调⽤mktime()函数。

该函数的原型如下所⽰:复制代码代码如下:int mktime([int hour [,int minute[,int second[,int month[,int day[int year]]]]]])该函数中所有参数都是可选的,如果参数为空,默认将当前时间转变成UNIX时间戳。

这样,和直接调⽤time()函数获取当前的UNIX时间戳功能相同。

参数也可以从右向左省略,任何省略的参数会被设置成本地⽇期和时间的当前值。

如果只想转变⽇期,对具体的时间不在乎,可以将前三个转变时间的参数都设置为0.mktime()函数对于⽇期运算和验证⾮常有⽤,它可以⾃动校政越界的输⼊。

25、PowerQuery-日期与时间数据处理

25、PowerQuery-日期与时间数据处理

25、PowerQuery-日期与时间数据处理
本节知识点:Power Query-日期与时间数据处理
日期与时间数据处理功能位置(同样在“转换”和“添加列”菜单中都存在):
这里重点讲解一下某些知识点。

比如年限:意思是当前系统日期减去选中列的日期,结果以“天时分秒毫秒”方式显示。

“月份名称”:月名称,比如2016/1/11 得到的结果为“一月”。

“减去天数”:选中两列,计算相隔天数(只有菜单“添加列”有效,减数大为正数,小为负数)。

“最早”:选中的几列里面找一个最小的日期(数据类型一定要相同)。

“最新”:选中的几列里面找一个最大的日期(数据类型一定要
相同)。

“本地时间”:需要获取时区,所以时区格式的日期才可以选择。

添加本地时间:
“持续时间:
通过年限来提取。

可以对其进行提取。

比较枯燥,就到这里。

北京时间与unix时间戳(unixtimestamp)的互转方法

北京时间与unix时间戳(unixtimestamp)的互转方法

北京时间与unix时间戳(unixtimestamp)的互转方法unix时间戳(英文为Unix epoch, Unix time, POSIX time 或 Unix timestamp),是从1970年1月1日(UTC/GMT的午夜)开始到某一时刻所经过的秒数,不考虑闰秒。

时间戳0按照ISO 8601格式写出来为 1970-01-01T00:00:00Z 。

一小时为3600秒,一个基准日(也称纪元日,epoch day)是86400秒,闰秒没有计算在内。

转换方法:bash mysql php javascript java java python java perl sqlserver Vbs/Asp ruby1、在linux bash下北京时间与unix时间戳互转:获取unix timestamp:1.命令:date "+%s"2.输出:1372654714获取北京时间:1.命令:date '+%Y-%m-%d %H:%M:%S'2.输出:2013-07-01 12:55:56unix timestamp转北京时间:1.命令:date -d@1372654714 '+%Y-%m-%d %H:%M:%S'2.输出:2013-07-01 12:58:34北京时间转unix timestamp:1.命令:date -d"2013-07-01 12:58:34" '+%s'2.输出:13726547142、用mysql sql语句实行unix时间戳与北京时间互转:获取unix时间戳:1.语句:select unix_timestamp();2.输出:1372659589获取北京时间:1.语句:select now();2.输出:2013-07-01 12:55:56unix时间戳转北京时间:1.语句:select from_unixtime(1229055132,"%Y-%m-%d %h:%i:%s");2.输出:2008-12-12 12:12:12北京时间转unix时间戳:1.语句:select unix_timestamp("2008-12-12 12:12:12");2.输出:12290551323、php语言实现北京时间与unix timestamp互转:获取unix timestamp:1.代码:echo time();2.输出:1372659589获取北京时间:1.代码:echo date("Y-m-d H:i:s");2.输出:2013-07-01 14:47:56unix timestamp转北京时间:1.代码:echo date("Y-m-d H:i:s",1372661384);2.输出:2013-07-01 14:49:44北京时间转unix timestamp:1.代码:echo time("2013-01-01 24:38:52");2.输出:13726614724、javaScript实现北京时间与unix timestamp互转:获取unix timestamp:1.代码:alert(Math.round(new Date().getTime()/1000));2.弹出:1372664103获取北京时间:1.代码:alert((new Date()).toLocaleString());2.弹出:2013-07-01 14:47:56unix timestamp转北京时间:1.代码:alert((new Date(1234567890*1000)).toLocaleString());2.弹出:2009-2-14 07:31:30北京时间转unix timestamp:1.代码:alert(Date.parse("2012/05/05 15:38:45")/1000)2.弹出:13362035255、java实现北京时间与unix timestamp互转:unix timestamp转北京时间:1.String date=new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new java.util.Date(123456789 * 1000)) 北京时间转unix timestamp:1.long n = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse("2012-12-12 12:12:12");6、PostgreSQL实现北京时间与unix timestamp互转:unix timestamp转北京时间:1.SELECT TIMESTAMP WITH TIME ZONE 'epoch' + 1372654714) * INTERVAL '1 second'北京时间转unix timestamp:1.SELECT extract(epoch FROM date('YYYY-MM-DD HH:MM:SS'));7、python实现北京时间与unix timestamp互转:unix timestamp转北京时间:1.import time2.time.gmtime(1372654714)北京时间转unix timestamp:1.import time2.int(time.mktime(time.strptime('YYYY-MM-DD HH:MM:SS', '%Y-%m-%d %H:%M:%S')))8、perl实现北京时间与unix timestamp互转:unix timestamp转北京时间:1.先 my $time = Unix timestamp2.然后my ($sec, $min, $hour, $day, $month, $year) =(localtime($time))[0,1,2,3,4,5,6]北京时间转unix timestamp:1.先 use Time::Local2.然后my $time = timelocal($sec, $min, $hour, $day, $month, $year);9、SQL Server实现北京时间与unix timestamp互转:unix timestamp转北京时间:1.DATEADD('s', 1372654714, '1970-01-01 00:00:00')北京时间转unix timestamp:1.SELECT DATEDIFF('s', '1970-01-01 00:00:00', '2012-01-01 10:10:10')10、VBScript/ASP实现北京时间与unix timestamp互转:unix timestamp转北京时间:1.DateAdd("s", 1372654714, "01/01/1970 00:00:00")北京时间转unix timestamp:1.DateDiff("s", "01/01/1970 00:00:00", "08/07/2013 13:13:13")8、ruby实现北京时间与unix时间戳互转:unix时间戳转北京时间:1.Time.at(1372654714)北京时间转unix时间戳:1.Time.local(2013, 12, 24, 14, 36, 48)。

power queyr使用手册

power queyr使用手册

Power Query 是微软为 Excel 提供的一种强大的数据处理工具,它可以帮助用户轻松地导入、转换和整理数据,并且支持对数据进行多种操作和分析。

下面将为大家介绍使用 Power Query 的一些常用功能和技巧。

一、数据导入1. 打开 Excel,选择“数据”选项卡,在“获取外部数据”组中点击“从文件”或“从数据库”按钮。

2. 选择数据源,并根据提示填写相应的信息,如文件路径、数据库连接等。

3. 在弹出的对话框中选择需要导入的数据表或数据范围,点击“确定”按钮完成导入。

二、数据转换1. 导入数据后,可以通过 Power Query 对数据进行转换和整理。

点击“数据”选项卡中的“从表格范围”或“从表格/范围”按钮,对数据进行编辑和处理。

2. 可以对数据进行筛选、排序、删除列、添加列等操作,以满足数据分析和报告的需求。

三、数据合并1. 当需要合并多个数据源时,可以使用 Power Query 的数据合并功能。

点击“数据”选项卡中的“合并查询”按钮,选择需要合并的数据源,并设置合并的参数和条件。

2. 支持多种合并方式,如内连接、左连接、右连接、全连接等,满足不同的业务需求。

四、数据分析1. Power Query 提供了丰富的数据分析功能,如数据透视表、数据透视图等,可以对数据进行深入的分析和挖掘。

2. 通过Power Query 可以进行数据清洗、统计计算、数据可视化等,帮助用户更好地理解和利用数据。

五、数据输出1. 处理完数据后,可以将结果输出到 Excel 工作簿中。

点击“数据”选项卡中的“关闭与加载”按钮,选择输出数据的方式和位置,完成数据输出。

2. 输出的数据可以随时进行更新和刷新,保持与原始数据源的同步。

六、自动化操作1. Power Query 支持自动化操作,可以通过编写 M 语言脚本来实现数据的自动导入、转换和整理,提高工作效率。

2. 通过 Power Query 的自动化操作,可以在每次打开 Excel 时自动更新数据,并生成最新的分析报告。

时间戳转时间算法

时间戳转时间算法

时间戳转时间算法时间戳是指从1970年1月1日 00:00:00 UTC(协调世界时)起至现在的总秒数。

在计算机领域中,时间戳被广泛应用于记录事件发生的时间、计算程序运行时间等方面。

而将时间戳转换为可读性较高的日期和时间格式,则需要使用一定的算法和方法。

一、将时间戳转换为日期和时间格式的必要性在实际开发中,我们常常需要将时间戳转换为人类可读的日期和时间格式,以便更好地展示给用户或进行数据分析等操作。

例如,在社交网络应用中,我们需要显示用户发表内容的发布时间,而这个发布时间通常以时间戳形式存储在数据库中;在电商应用中,我们需要记录订单生成、支付、发货、退款等重要事件的发生时间,同样也需要将这些事件的时间戳转换为易于理解的日期和时间格式。

二、常见的将时间戳转换为日期和时间格式的方法1. 使用编程语言内置函数大多数编程语言都提供了内置函数来处理日期和时间相关操作。

例如,在PHP中,可以使用date()函数将一个Unix 时间戳转化为可读性较高的日期和/或时间。

具体实现方式如下:```<?php$timestamp = time(); // 获取当前 Unix 时间戳$date = date('Y-m-d H:i:s', $timestamp); // 将 Unix 时间戳转换为日期和时间格式echo $date; // 输出结果:2022-06-01 09:30:00>```在上述代码中,time()函数用于获取当前的 Unix 时间戳,date()函数则将该时间戳转换为格式为“年-月-日时:分:秒”的日期和时间格式。

需要注意的是,在使用date()函数时,第一个参数必须是指定日期和时间格式的字符串,而第二个参数则是要转换的 Unix 时间戳。

2. 使用第三方工具库除了使用编程语言内置函数外,还可以使用一些第三方工具库来完成将时间戳转换为日期和时间格式的操作。

例如,在JavaScript中,可以使用Moment.js库来处理日期和时间相关操作。

powerquery时间函数

powerquery时间函数

powerquery时间函数Power Query 是一种用于数据处理和转换的强大工具,它在 Excel 和Power BI 中都得到了广泛应用。

在 Power Query 中,有很多时间函数可以帮助我们对日期和时间进行处理和计算。

本文将介绍几种常用的 Power Query 时间函数,并通过示例演示它们的用法和效果。

1. Date.Year 函数Date.Year 函数用于提取日期中的年份。

它接受一个日期类型的参数,并返回该日期的年份。

例如,我们有一个日期列,我们想要提取出其中的年份。

可以使用如下公式:= Table.AddColumn(#"Previous Step", "Year", each Date.Year([Date]))2. Date.Month 函数Date.Month 函数用于提取日期中的月份。

它接受一个日期类型的参数,并返回该日期的月份。

例如,我们有一个日期列,我们想要提取出其中的月份。

可以使用如下公式:= Table.AddColumn(#"Previous Step", "Month", each Date.Month([Date]))3. Date.Day 函数Date.Day 函数用于提取日期中的日。

它接受一个日期类型的参数,并返回该日期的日。

例如,我们有一个日期列,我们想要提取出其中的日。

可以使用如下公式:= Table.AddColumn(#"Previous Step", "Day", each Date.Day([Date]))4. Date.AddDays 函数Date.AddDays 函数用于在给定的日期上增加或减少指定的天数。

它接受两个参数,第一个参数是日期,第二个参数是要增加或减少的天数。

例如,我们有一个日期列,我们想要在其中的每个日期上增加一天。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Unix时间戳转换
Unix时间戳(Unix timestamp),或称Unix时间(Unix time)、POSIX时间(POSIX time),是一种时间表示方式,定义为从格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数。

Unix时间戳不仅被使用在Unix 系统、类Unix系统中,也在许多其他操作系统中被广泛采用。

有些从系统导出或网抓的数据,时间为时间戳格式,Power Query并没有直接的函数对其转换,但可以通过自定义函数实现。

let
timestamp = (x)=>#datetime(1970,1,1,8,0,0)+#duration(0,0,0,x),
time = timestamp(1502374503)
in
time
公式非常简单,duration表示持续时间,直接加上起始的北京时间。

而有些语言的时间戳是13位的,比10位的精度更高一些,高在后3位。

但是精不精度和我们没什么关系,我们不需要,把后三位去掉即可。

let
timestamp = (x)=>#datetime(1970,1,1,8,0,0)+#duration(0,0,0,Number.IntegerDivide(x/1000,1)),
time = timestamp(1502353621929)
in
time
如果是反过来,要把时间转换为时间戳呢?
那就先用时间减去初始时间,然后转换为总秒数,结果可能为小数,最后再取个整。

以求当前时间的时间戳为例:let
time = (x)=> Number.IntegerDivide(Duration.TotalSeconds(x-#datetime(1970,1,1,8,0,0)),1),
timestamp = time(DateTime.LocalNow())
in
timestamp。

相关文档
最新文档