iT邦幫忙

0

vb.net 有類似 php mktime 的東西嗎?

最近要用 vb 去撈 MySql 的資料,
以前都是用 php ,所以寫入日期都是用 mktime 去轉成時間戳記,
現在問題來了,改用 vb 後,我找不到可以把日期時間轉成時間戳記的東西,
所以統計時間的資料不知道要怎麼寫囉!

web base 用的好好的,老大真愛找麻煩!

1 個回答

6
最佳解答

http://stackoverflow.com/questions/1062528/php-mktime-and-microtime-equivalent-in-c-sharp
參考上述網頁
我幫你改成 VB.Net

<pre class="c" name="code">
Public Class mktime
    Public UnixEpoch As DateTime = New DateTime(1970, 1, 1)
    ' equivalent to PHP mktime :
    Public Function GetUnixTimestamp(dt As DateTime) As Integer
        Dim span As TimeSpan = dt - UnixEpoch
        Return Convert.ToInt32(Int(span.TotalSeconds))
    End Function
End Class
drtiger iT邦研究生 5 級 ‧ 2012-12-18 16:34:30 檢舉

感謝您!
但是我不會用 vb 的 class,所以我只取函數來用,
不過時間好像比用 php 多 16 小時,
所以我把他改成這樣不知道對不對!

<pre class="c" name="code">
Public UnixEpoch As DateTime = New DateTime(1970, 1, 1, 16, 0, 0)  
' equivalent to PHP mktime :  

Public Function GetUnixTimestamp(dt As DateTime) As Integer  
  Dim span As TimeSpan = dt - UnixEpoch  
  Return Convert.ToInt32(Int(span.TotalSeconds))  
End Function

老實說...我也沒用過ㄟ XD

不過就我瞭解 .Net 和 Unix 的 TimeStamp 計算基準不同, PHP 會不會有一樣的問題, 我不確定, 還有你的系統所設定時區也會有所影響~
http://demo.tc/Post/92
若你有多測過幾次...確定發現多了 16 HRs, 你就把他減回來...
P.S 之前我們有跨國的系統, 就在那邊玩加加減減的遊戲~ XD

我要發表回答

立即登入回答