excel将小数格式转化为分秒毫秒格式

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了excel将小数格式转化为分秒毫秒格式相关的知识,希望对你有一定的参考价值。

手输时间格式我换成4.5。541之类的也行

在Excel中设置小数为分秒毫秒格式方法如下(以Excel2010为例):

1、选要设置的单元格,右击鼠标,选择”设置单元格格式“,如图所示:

2、在数字选项卡中选择”自定义“,然后在类型中输入【mm\'ss"000】,按“确定”按钮即可,如图所示:

这样分秒毫秒格式就设置完成了。

参考技术A 利用时间转换函数(60进制)试试
'VBA函数
= Format(1.234/24, "h度m分s秒") ' 返回 1度14分2秒
= Format(1.234/24, "hh度mm分ss秒") ' 返回 01度14分02秒

工作表函数

Format改为TEXT()

hive中如何将13位bigint类型的时间戳的转化为毫秒标准时间格式

首先,我们先了解13位时间戳13位的时间戳其实数据的时间单位就是ms。基于此我们来分析问题原因和实现方式。

要点:

13位时间戳因为时间单位为毫秒所以我们可以很容易知道转化成标准毫秒时间格式毫秒部分必然与13位时间戳一致。

举个例子方便大家理解。

bigint(13)1571709884123
毫秒时间标准格式:2019-10-22 10:22:44.123

解决方案:

首选方案:

那么就此我们开始分析我们该如何实现,首先容易想到的就是hive中默认的转换函数FROM_UNIXTIME(unix_timestamp/1000,format)。我们知道unix_timestamp时间戳的精度默认为s,而我们要转为ms所以将unix_timestamp/1000来将单位转换为ms。format我们设置成时间格式'yyyy-MM-dd HH:dd:ss.sss'为毫秒。

SELECT FROM_UNIXTIME(1571709884123/1000,'yyyy-MM-dd HH:dd:ss.sss');

2019-10-22 10:22:44.044

说明:13位的整型除以1000等于时间戳timestamp单位才是毫秒,将时间戳类型转化为日期类型使用from_unixtime
FROM_UNIXTIME(unix_timestamp/1000,format)参数介绍:
unix_timestamp :单位为秒
unix_timestamp/1000:单位为毫秒。
formatyyyy-MM-dd HH:dd:ss.sss(毫秒)、yyyy-MM-dd HH:dd:ss(秒)、yyyy-MM-dd(日期)等

我们发现毫秒值在转换时毫秒部分并不准确。这是什么原因呢?笔者经过调研发现可能为如下原因造成。

原因:Javadate默认精度是毫秒,由date转换成的时间戳是13位的,而c,php生成的时间默认就是10位的,精度是

方案调整:

由于hive本身自带的时间戳转换函数毫秒存在精度问题无法使用,所以我们需要想办法解决毫秒部分的精度问题。由此我们发现只有毫秒部分存在问题而秒及以上的部分是没有问题,所以我们使用FROM_UNIXTIME(unix_timestamp/1000,format)函数并将毫秒部分拼接在from_unixtime函数结果之后。

select
    concat(t,".",substring(1571709884123,11,13))
from(
select from_unixtime(cast(substring(1571709884123,0,10) as bigint),'yyyy-MM-dd HH:dd:ss') as t
)tmp;

执行结果如下:

扩展:

如果想转换成"yyyy-MM-dd HH:dd:ss",需要将13位时间戳转换成11位时间戳,注意转换过程中函数入参数据类型

以上是关于excel将小数格式转化为分秒毫秒格式的主要内容,如果未能解决你的问题,请参考以下文章

excle里面怎样进行时间分秒和毫秒的输入和加减计算?

有啥好方法把秒数转换成时分秒的格式

在Excel中如何将数字格式批量转换为文本格式,并且保留二位小数?

vue.js怎样将时间戳转化为日期格式

如何将GPS数据转换为度分秒

怎么在Oracle中将时间戳转化为日期格式