将FM(FileMaker)时间戳转换为DateTime

时间:2012-11-21 08:33:38

标签: date datetime timestamp type-conversion filemaker

我有一些FileMaker时间戳,我不知道如何处理。 (我通过试验发现了它......)

有人知道将FM(文件制作器)时间戳转换为DateTime的算法吗?

我已阅读有关此page的格式。其中包括一个“FM dec Timestamp”按钮,它可以进行所需的转换,但没有提供它如何实现的参考!

另外,我的时间戳格式与网站要求的格式不同,我的时间戳大小为18位,而且网站只允许11位。

插入634890864000000000并删除尾随零(留下11位数字),我得到了这个日期:

Wednesday, 2012-11-21 10:20:00

2 个答案:

答案 0 :(得分:4)

如果你有FileMaker,这应该简单:

  1. 将数字导入为文本
  2. 创建一个新的计算字段resulTimestamp,它取左11个字符并转换为TimeStamp:

    GetAsTimestamp( Left( myImportedTimestamp ; 11 ) )
    
  3. 以编程方式或通过在布局上的resulTimestamp字段上显示来转换为Unix格式。

  4. 如果您没有FileMaker:

    1. 取FileMaker时间戳的左侧11位数字。
    2. 从FileMaker时间戳中减去62135596800以获取Unix(纪元)时间戳。
      (通过在每个日期中取相同日期并从Unix日期减去FileMaker日期来验证。)
    3. 将纪元时间转换为人类可读,例如根据epochconverter.com的“从纪元转换为人类可读日期”部分中的公式之一。

答案 1 :(得分:0)

获取您的约会对象:

  1. 使用以下计算创建计算字段:

    TimeStamp/864000000000+1
    
  2. 将返回类型设置为Date。

  3. 此外,我认为额外的零是一秒的分数,无论给定的公式处理这些。