タイム ゾーンの変換を行うカスタム コードを追加する .rdl ファイルの SQL サーバー レポートがいくつかあります。グーグルで調べた結果、Visual Basic でカスタム コードを記述できることがわかりました。カスタム コードを記述するためにサポートされている他の言語はありますか? ジャバのように?
VB でコードを書く方法を VB で知りません。レポートのカスタム コードで Java はサポートされていますか?
タイム ゾーンの変換を行うカスタム コードを追加する .rdl ファイルの SQL サーバー レポートがいくつかあります。グーグルで調べた結果、Visual Basic でカスタム コードを記述できることがわかりました。カスタム コードを記述するためにサポートされている他の言語はありますか? ジャバのように?
VB でコードを書く方法を VB で知りません。レポートのカスタム コードで Java はサポートされていますか?
あなたの問題はVB.Netの知識がなくても簡単に解決できます:)、この関数を変換に使用できます(タイムゾーンのない時間(+00)をidで指定されたタイムゾーンに変換します):
Shared Function ConvertServerTimeNow(ByVal systemDate As Date, ByVal timeZoneId As String, Optional ByVal daylightSavingsTime As Boolean = False) As Date
Dim timeZoneInfo As TimeZoneInfo
If timeZoneId Is Nothing Then
Return systemDate
Else
timeZoneInfo = timeZoneInfo.FindSystemTimeZoneById(timeZoneId)
If daylightSavingsTime = False Then
timeZoneInfo = timeZoneInfo.CreateCustomTimeZone(timeZoneInfo.Id, timeZoneInfo.BaseUtcOffset, timeZoneInfo.DisplayName, timeZoneInfo.StandardName, timeZoneInfo.DaylightName, Nothing, True)
End If
End If
Return (timeZoneInfo.ConvertTime(systemDate, timeZoneInfo))
End Function
TimeZoneIDリストについては、この回答を参照できます:https ://stackoverflow.com/a/7908482/1048105
他の言語について:カスタムアセンブリを追加することにより、.NETプラットフォームの任意の言語を使用できますが、VB.NET以外の言語のrdlでコードを正確に記述することはできません。カスタムアセンブリについては、 http://support.microsoft.com/kb/920769で読むことができますが、展開するのは難しいため、必要なしにこれを実行することはお勧めしません。