kxing 发表于 2012-5-14 22:27:00

[已解决]求教时间戳转日期时间

本帖最后由 kxing 于 2012-5-15 13:29 编辑

请问如何将 2012-05-01 19:57
转换成:1335873425

可能多少有些出入,但是这算法是将日期时间按毫秒计算的吗?

请高手解答,多谢

3mile 发表于 2012-5-15 12:02:10

_DateAdd('s',1335873425,"1970/01/01 00:00:00")

happytc 发表于 2012-5-14 22:46:36


#Include <Date.au3>

$iDateCalc = _DateDiff('s', "1970/01/01 00:00:00", "2012-05-01 19:57:00" )
MsgBox(4096, "", "Number of seconds since EPOCH: " & $iDateCalc)

my788522 发表于 2012-5-15 00:18:07

这个数字就是时间戳 计算从1970/01/01 00:00:00 到某个时间的秒数

h20040606 发表于 2012-5-15 09:05:28

这是从1970年1月1日0时0分0秒起的秒数

fpquenya 发表于 2012-5-15 09:29:53

之前统计计算机开机时间,我这里精确到分钟,供楼主参考一下
Func _CalcDateDiff($iLastTime)
        Local $iBootTime,$sBootTime
        $iBootTime = _DateDiff('n',$iLastTime,_NowCalc())        ;默认按分钟比较,也精确到分钟返回
        If $iBootTime < 60 Then                                        ;[小于1小时,按分计算]
                $sBootTime = $iBootTime & "分"
        ElseIf $iBootTime >= 60 And $iBootTime <1440 Then                ;[大于1小时,但小于1天(1440分钟),按小时+分计算]
                $sBootTime = Int($iBootTime/60) & "小时" & Mod($iBootTime,60) & "分"                ;商=Int(除数/被除数) 余=Mod(除数,被除数)
        ElseIf $iBootTime >= 1440 And $iBootTime < 525600 Then        ;[超过一天且小于1年,按天+小时+分计算]
                Local $sTemp
                Local $iTemp = Mod($iBootTime,1440) ;[天剩下的分钟,一定小于1440分]
                If $iTemp >=60 Then
                        $sTemp = Int($iTemp/60) & "小时" & Mod($iTemp,60) & "分"        ;天剩下的分钟折算成小时
                Else
                        $sTemp = $iTemp & "分"
                EndIf
                $sBootTime = Int($iBootTime/1440) & "天" & $sTemp
        ElseIf $iBootTime >=525600 Then                        ;[大于1年,按年+天+小时+分计算]
                Local $iYear_Min = Mod($iBootTime,525600)
                Local $sTemp2
                If $iYear_Min <60 Then
                        $sTemp2 = $iYear_Min & "分"
                ElseIf $iYear_Min >=60 And $iYear_Min < 1440 Then
                        $sTemp2 = Int($iYear_Min/60) & "小时" & Mod($iYear_Min,60) & "分"
                ElseIf $iYear_Min >= 1440 Then
                        If Mod($iYear_Min,1440) < 60 Then
                                $sTemp2 = Int($iYear_Min/1440) & "天" &Mod($iYear_Min,1440) & "分"
                        ElseIf Mod($iYear_Min,1440)>=60 Then
                                $sTemp2 = Int($iYear_Min/1440) & "天" & Int(Mod($iYear_Min,1440)/60) & "小时" & Mod(Mod($iYear_Min,1440),60) & "分"
                        EndIf
                EndIf
                $sBootTime = Int($iBootTime/525600) & "年" & $sTemp2
        EndIf
        Return $sBootTime
EndFunc

魔导 发表于 2012-5-15 09:43:54

快乐兄的码   短小精悍

kxing 发表于 2012-5-15 09:49:22

非常感谢楼上各位朋友。。。

kxing 发表于 2012-5-15 09:50:50

那请问怎样反过来呢,将时间戳转换成日期时间。。。

wsfda 发表于 2012-5-15 10:58:03

不错,支持一个

kxing 发表于 2012-5-15 11:53:13

高手 帮帮忙,主要是想要时间戳转日期时间。

ooxxgod 发表于 2012-5-15 12:08:27

我试试看我用了多久

kxing 发表于 2012-5-15 13:28:07

多谢多谢。。。。。

linjiand 发表于 2013-7-3 01:04:52

学习了,正好遇到此问题

guoguo188 发表于 2017-4-28 13:53:00

厉害 学习了
页: [1]
查看完整版本: [已解决]求教时间戳转日期时间