[已解决]求教时间戳转日期时间
本帖最后由 kxing 于 2012-5-15 13:29 编辑请问如何将 2012-05-01 19:57
转换成:1335873425
可能多少有些出入,但是这算法是将日期时间按毫秒计算的吗?
请高手解答,多谢 _DateAdd('s',1335873425,"1970/01/01 00:00:00")
#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)
这个数字就是时间戳 计算从1970/01/01 00:00:00 到某个时间的秒数 这是从1970年1月1日0时0分0秒起的秒数 之前统计计算机开机时间,我这里精确到分钟,供楼主参考一下
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 快乐兄的码 短小精悍 非常感谢楼上各位朋友。。。 那请问怎样反过来呢,将时间戳转换成日期时间。。。 不错,支持一个 高手 帮帮忙,主要是想要时间戳转日期时间。 我试试看我用了多久 多谢多谢。。。。。 学习了,正好遇到此问题 厉害 学习了
页:
[1]