找回密码
 立即注册

QQ登录

只需一步,快速开始

拍掉灰还可以吃

初级会员

46

主题

109

帖子

423

积分

初级会员

积分
423
拍掉灰还可以吃
初级会员   /  发表于:2021-5-27 09:49  /   查看:4294  /  回复:16
1金币
本帖最后由 拍掉灰还可以吃 于 2021-5-27 09:50 编辑

这几个字段是活字格内部自己维护的  里面的创建时间 如何转换成YYYY-MM-DD 这种格式的  在C#中转换
附件: 您需要 登录 才可以下载或查看,没有帐号?立即注册

16 个回复

正序浏览
Tracy.Liu讲师达人认证 悬赏达人认证 活字格认证
论坛元老   /  发表于:2021-5-28 17:36:53
17#
拍掉灰还可以吃 发表于 2021-5-28 17:22
是这样的 我不是在活字格内部操作 我是直连数据库  看到了活字格维护的时间字段FGC_CreateDate  这样的值 ...

上面这个DateTime.Parse("44331")方法,就是在C#中写的代码呢,之前我写定时发送邮件功能的时候就是用的这个。
回复 使用道具 举报
拍掉灰还可以吃
初级会员   /  发表于:2021-5-28 17:22:50
16#
Tracy.Liu 发表于 2021-5-27 18:37
突然感觉好像楼被带偏了,你的问题是想把OADATE的日期格式转成YYYY-MM-DD这种对吧?
那你可以用DateTime.P ...

是这样的 我不是在活字格内部操作 我是直连数据库  看到了活字格维护的时间字段FGC_CreateDate  这样的值  44257.5462765394 我要在C#中转成时间类型YYYY-MM-DD
回复 使用道具 举报
Tracy.Liu讲师达人认证 悬赏达人认证 活字格认证
论坛元老   /  发表于:2021-5-27 18:37:56
15#
突然感觉好像楼被带偏了,你的问题是想把OADATE的日期格式转成YYYY-MM-DD这种对吧?
那你可以用DateTime.Parse("44331"),这样得到的就是DateTime类型的日期啦~
回复 使用道具 举报
拍掉灰还可以吃
初级会员   /  发表于:2021-5-27 17:38:30
14#
Tracy.Liu 发表于 2021-5-27 17:25
7楼,大佬已经给你写好转换的公式了呀~你直接使用就行了。

公式是用了 但是不懂原理呀
回复 使用道具 举报
Tracy.Liu讲师达人认证 悬赏达人认证 活字格认证
论坛元老   /  发表于:2021-5-27 17:25:02
13#
15725821270 发表于 2021-5-27 10:11
(TIME-70*365-19)*86400-8*3600
这样就得到了秒为单位的10位数了

7楼,大佬已经给你写好转换的公式了呀~你直接使用就行了。





本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
拍掉灰还可以吃
初级会员   /  发表于:2021-5-27 14:58:44
12#
Tracy.Liu 发表于 2021-5-27 14:51
44331.5973358565是OADATE格式,整数部分是日期,小数部分是时间。代表从1899/12/31日开始到某个时间的值 ...

能不能转算出符合这里面的要求的时间戳 https://tool.lu/timestamp/
回复 使用道具 举报
Tracy.Liu讲师达人认证 悬赏达人认证 活字格认证
论坛元老   /  发表于:2021-5-27 14:51:18
11#
拍掉灰还可以吃 发表于 2021-5-27 11:17
我想请问下 这些数字都代表什么含义 转换规则是怎么来的

44331.5973358565是OADATE格式,整数部分是日期,小数部分是时间。代表从1899/12/31日开始到某个时间的值。
我这样举一个例子,你应该就理解了。

你让一个格子的值为1,然后设置单元格格式为日期,这个时候你就会发现,这个1展示出来就是1899/12/31。
那么44331这个值再试一下,就会发现他是2021/5/15这一天,也就是2021/5/15到1899/12/31的天数差。

其实就是另一种日期的格式而已哈~这样你应该就比较好理解上面的转换原理啦~

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
小土悬赏达人认证
初级会员   /  发表于:2021-5-27 14:11:42
10#
本帖最后由 小土 于 2021-5-27 14:14 编辑

不懂,反正我都是用文本存时间的,要想转换的话,可以用TEXT函数。TEXT(日期,"yyyy-mm-dd")这样子,或者精确一点TEXT(日期,"yyyy-mm-dd hh:mm:ss")这样、
测试过后小数点前面表示年月日,后面表示时分秒,你可以自己测试一下
回复 使用道具 举报
拍掉灰还可以吃
初级会员   /  发表于:2021-5-27 11:17:48
9#
15725821270 发表于 2021-5-27 10:11
(TIME-70*365-19)*86400-8*3600
这样就得到了秒为单位的10位数了

我想请问下 这些数字都代表什么含义 转换规则是怎么来的
回复 使用道具 举报
拍掉灰还可以吃
初级会员   /  发表于:2021-5-27 10:45:59
8#
本帖最后由 拍掉灰还可以吃 于 2021-5-27 10:54 编辑
15725821270 发表于 2021-5-27 10:11
(TIME-70*365-19)*86400-8*3600
这样就得到了秒为单位的10位数了

如果是按它的小数点后 10位就不行了 得到的结果 1.6210596098180017E9 了  就比如这个时间戳 44331.5973358565

excel 跟 java 代码算出来的结果是不一样的

回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部