以下のコードをVB6からC#に変換しようとしています。どこから始めればよいのかわからないのですが、おそらくVB6に夢中になっていて、一歩後退できないように思われるからでしょう。
Private Function GMT_OFFSET() As Integer
'****DECLARE VARIABLES
Dim dtNow As Date, dtEngland As Date
Dim dtGMT As SYSTEMTIME
'****GET SYSTEM TIME INFORMATION
Call GetSystemTime(dtGMT)
dtNow = Now
dtEngland = dtGMT.wYear & "-" & dtGMT.wMonth & "-" & dtGMT.wDay & " " & dtGMT.wHour & ":" & dtGMT.wMinute & ":" & dtGMT.wSecond
'****RETURN QUARTER HOURS
GMT_OFFSET = DateDiff("n", dtEngland, dtNow) \ 15
End Function
GetSystemTimeがWin32APIであることは知っています。明らかに、.NETでPInvokeを実行するのではなく、.NETFrameworkで純粋なオブジェクトを使用します。