`
bardo
  • 浏览: 378267 次
  • 性别: Icon_minigender_1
  • 来自: 上海
博客专栏
D1407912-ab64-3e76-ae37-b31aa4afa398
浅述PHP设计模式
浏览量:11806
9d6df9f7-91da-3787-a37c-0e826525dd5d
Zend Framewor...
浏览量:10113
85b628bd-a2ed-3de2-a4b1-0d34985ae8b6
PHP的IDE(集成开发环...
浏览量:9501
社区版块
存档分类
最新评论

在VB中得到C语言函数time(&lnow )得到的数据

    博客分类:
  • VB
阅读更多
在VB中得到C语言函数time(&lnow )得到的数据 ( 2006-10-18 15:30 )

VB中只能操作自己的DATE类型,同时,API操作也仅有SYSTEMTIME,FILETIME这两个类型可以操作,要得到C语言中的 time_t 这一类型的数据,确实很费脑筋。

然而,你不可能要求DLL编写者都了解VB,都提供VB可用的参数。为此,我们只能想法在VB中解决。

要解决这一问题,必须要解决的是:GMTTIME,UTCTIME之间的转换的问题。

以下是VB源码:

Option Explicit

'===============================================================================
'   Constants
'===============================================================================

Private Const TIME_ZONE_ID_INVALID = &HFFFFFFFF
Private Const TIME_ZONE_ID_UNKNOWN = 0
Private Const TIME_ZONE_ID_STANDARD = 1
Private Const TIME_ZONE_ID_DAYLIGHT = 2

'===============================================================================
'   Types
'===============================================================================
Private Type SYSTEMTIME
   wYear                   As Integer
   wMonth                  As Integer
   wDayOfWeek              As Integer
   wDay                    As Integer
   wHour                   As Integer
   wMinute                 As Integer
   wSecond                 As Integer
   wMilliseconds           As Integer
End Type

Private Type FILETIME                            ' Win32 date
   dwLowDateTime           As Long
   dwHighDateTime          As Long
End Type

Private Type TIME_ZONE_INFORMATION
   Bias                    As Long
   StandardName(63)        As Byte
   StandardDate            As SYSTEMTIME
   StandardBias            As Long
   DaylightName(63)        As Byte
   DaylightDate            As SYSTEMTIME
   DaylightBias            As Long
End Type

'===============================================================================
'   Private Members
'===============================================================================

'===============================================================================
'   Declares
'===============================================================================
Private Declare Function FileTimeToLocalFileTime Lib "kernel32" _
   (lpFileTime As FILETIME, lpLocalFileTime As FILETIME) As Long

Private Declare Function FileTimeToSystemTime Lib "kernel32" _
   (lpFileTime As FILETIME, lpSystemTime As SYSTEMTIME) As Long

Private Declare Function SystemTimeToFileTime Lib "kernel32" _
   (lpSystemTime As SYSTEMTIME, lpFileTime As FILETIME) As Long

Private Declare Function LocalFileTimeToFileTime Lib "kernel32" _
   (lpLocalFileTime As FILETIME, lpFileTime As FILETIME) As Long
  


Friend Function UtcToLocalFileTime(FILETIME As FILETIME) As FILETIME
'===============================================================================
'   UtcToLocalFileTime - Converts local FILETIME to UTC/GMT FILETIME.
'===============================================================================

   Dim Success     As Boolean

   ' Exit if null date supplied.
   If FILETIME.dwHighDateTime = 0 And FILETIME.dwLowDateTime = 0 Then
       Exit Function
   End If

   ' Convert to local time
   Success = FileTimeToLocalFileTime(FILETIME, UtcToLocalFileTime)
   Debug.Assert Success

End Function

Friend Function UtcFromLocalFileTime(FILETIME As FILETIME) As FILETIME
'===============================================================================
'   UtcFromLocalFileTime - Converts UTC/GMT FILETIME to a local FILETIME.
'===============================================================================

   Dim Success     As Boolean

   ' Exit if null date supplied.
   If FILETIME.dwHighDateTime = 0 And FILETIME.dwLowDateTime = 0 Then
       Exit Function
   End If

   ' Convert to UTC time
   Success = LocalFileTimeToFileTime(FILETIME, UtcFromLocalFileTime)
   Debug.Assert Success

End Function

Friend Function FileTimeToDate(FILETIME As FILETIME) As Date
'===============================================================================
'   FileTimeToDate - Converts FILETIME structure to a VB Date data type.
'
'   NOTE: The FILETIME structure is a structure of 100-nanosecond intervals since
'   January 1, 1601.  The VB Date data type is a floating point value Where the
'   value to the left of the decimal is the number of days since December 30,
'   1899, and the value to the right of the decimal represents the time. the
'   hour of the time value can be calculated by multiplying by 24, with the
'   remainder multiplied by 60 to get the minutes, and that remainder can then
'   be multiplied by 60 to get the seconds.
'
'
'   FileTime            The FILETIME structure to convert.
'
'   RETURNS             A date/time value in the intrinsic VB Date data type.
'
'===============================================================================

   Dim Success     As Boolean
   Dim SysTime     As SYSTEMTIME

   Success = FileTimeToSystemTime(FILETIME, SysTime)
   Debug.Assert Success

   ' Create a date/time value from the system time parts
   With SysTime
       FileTimeToDate = DateSerial(.wYear, .wMonth, .wDay) + _
           TimeSerial(.wHour, .wMinute, .wSecond)
   End With

End Function

Friend Function FileTimeFromDate(FromDate As Date) As FILETIME
'===============================================================================
'   FileTimeFromDate - Converts a VB Date data type to a FILETIME structure.
'
'   NOTE: The FILETIME structure is a structure of 100-nanosecond intervals since
'   January 1, 1601.  The VB Date data type is a floating point value Where the
'   value to the left of the decimal is the number of days since December 30,
'   1899, and the value to the right of the decimal represents the time. the
'   hour of the time value can be calculated by multiplying by 24, with the
'   remainder multiplied by 60 to get the minutes, and that remainder can then
'   be multiplied by 60 to get the seconds.
'
'
'   FromDate            The VB DAte to convert.
'
'   RETURNS             A date/time value in the native Win32 FILETIME structure.
'
'===============================================================================

   Dim Success     As Boolean
   Dim SysTime     As SYSTEMTIME

   ' Create SYSTEMTIME from each date part in a date/time value.
   With SysTime
       .wYear = Year(FromDate)
       .wMonth = Month(FromDate)
       .wDay = Day(FromDate)
       .wHour = Hour(FromDate)
       .wMinute = Minute(FromDate)
       .wSecond = Second(FromDate)
   End With

   ' convert the SYSTEMTIME to the FILETIME
   Success = SystemTimeToFileTime(SysTime, FileTimeFromDate)
   Debug.Assert Success

End Function

Public Function UtcToLocalTime(ByVal UtcTime As Date) As Date
'===============================================================================
'   UtcToLocalTime - Converts UTC/GMT time to local time.
'===============================================================================

   Dim FILETIME        As FILETIME

   FILETIME = FileTimeFromDate(UtcTime)
   FILETIME = UtcToLocalFileTime(FILETIME)
   UtcToLocalTime = FileTimeToDate(FILETIME)

End Function

Public Function UtcFromLocalTime(ByVal LocalTime As Date) As Date
'===============================================================================
'   UtcFromLocalTime - Converts local time to UTC/GMT time.
'===============================================================================

   Dim FILETIME        As FILETIME

   FILETIME = FileTimeFromDate(LocalTime)
   FILETIME = UtcFromLocalFileTime(FILETIME)
   UtcFromLocalTime = FileTimeToDate(FILETIME)

End Function

Public Function GetUTCLongTime() As Long

   Dim UtcDate As Date
   Dim UTCLongTime As Long
   
   UtcDate = UtcFromLocalTime(Now())
  
   UTCLongTime = DateDiff("s", "1970-01-01 00:00:00", UtcDate)
  
   GetUTCLongTime = UTCLongTime
   
End Function

将此代码存为CLASS文件名为CGUSTime

然后,你即可以:

         Dim lnow As Long

         Dim Gus As CGUSTime
        
         Set Gus = New CGUSTime
        
         lnow = Gus.GetUTCLongTime()
        
         Set Gus = Nothing

那么,这里得到的lnow 与C语言中 time(&lnow )数值是一样的。
分享到:
评论

相关推荐

    数学建模拟合与插值.ppt

    数学建模拟合与插值.ppt

    [net毕业设计]ASP.NET教育报表管理系统-权限管理模块(源代码+论文).zip

    【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python、web、C#、EDA、proteus、RTOS等项目的源码。【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。

    mysql相关资源.txt

    mysql相关资源.txt

    利用HTML+CSS+JS的国漫分享网站(响应式)

    此项目为一个HTML+CSS+JS的国漫分享网站,用户可以在此网站中观看自己喜欢的国漫。此网站共有4个页面,分别为首页,最新动态,热门推荐,分类。页面动漫图片齐全,内容可更改。可用于期末课程设计或个人课程设计。

    Python爬虫爬取漫画

    Python爬虫爬取漫画

    C++语言编程用模拟退火算法解决旅行商问题

    模拟退火算法应用。C++语言编程用模拟退火算法解决旅行商问题。该资源包含模拟退火算法C++语言的源代码。模拟退火算法是一种基于概率的全局优化算法,最初来自于物理学中的退火过程。它通过模拟金属冷却时原子排列逐渐趋于最低能量状态的过程来寻找问题的最优解。模拟退火算法常用于解决非线性、组合优化问题,特别适合于大规模、复杂的搜索空间。

    传感器试题及答案.doc

    传感器试题及答案.doc

    [net毕业设计]ASP.NET网上书店(源代码+论文).zip

    【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python、web、C#、EDA、proteus、RTOS等项目的源码。【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。

    MongoDB数据表基本操作中文最新版本

    本文档主要讲述的是MongoDB数据表基本操作;希望对大家会有帮助;感兴趣的朋友可以过来看看

    1-全国各省废气、废水排放二氧化硫、氮氧化物、烟尘、颗粒物排放量统计数据2011-2021年-社科数据.zip

    本数据集提供了2011至2021年间全国各省废气和废水中主要污染物的排放量统计数据。数据涵盖了二氧化硫、氮氧化物、烟尘和颗粒物等关键污染物的排放量,为研究中国环境状况和污染物排放趋势提供了宝贵信息。数据显示,2011-2021年间,各省的二氧化硫排放量从数十万吨到数百万吨不等,其中广东、广西、海南等省份的排放量较高。氮氧化物排放量同样显示出地域差异,北京、天津等北方城市的排放量相对较低,而一些工业大省如河北、山西的排放量较高。颗粒物排放量统计显示,工业源和生活源是主要的排放源,其中工业源排放量占比较大。这些数据不仅对环保政策制定者具有参考价值,也为学术研究提供了实证基础。

    脉冲宽度测量单片机课程设计.doc

    脉冲宽度测量单片机课程设计.doc

    [net毕业设计]ASP.NET在线毕业论文提交系统的设计与实现(源代码+论文).zip

    【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python、web、C#、EDA、proteus、RTOS等项目的源码。【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。

    求职与招聘(源代码+论文+说明文档).zip

    【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python、web、C#、EDA、proteus、RTOS等项目的源码。【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。

    [net毕业设计]ASP.NET视频点播系统的设计与实现(源代码+论文).zip

    【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python、web、C#、EDA、proteus、RTOS等项目的源码。【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。

    全国矢量地图数据【国道+高速】-ArcGis Shape 格式数据集

    全国矢量地图数据【国道+高速公路】ArcGIS Shape格式数据集是一种专门用于地理信息系统(GIS)的矢量数据集,包含中国范围内国道和高速公路的详细路网信息。该数据集广泛应用于交通规划、导航、物流分析和灾害应急等领域,具有高精度和易用性。 数据集特点: 1. 数据内容: 国道:包括以“G”开头的国家级公路,如G1京哈高速、G107国道等。 高速公路:包括全国范围内的所有高速公路网,覆盖主要经济区、城市和边境口岸。 属性数据: 道路编号(国道或高速公路编号)。 道路名称。 道路等级(如一级、二级、快速路等)。 起点和终点坐标。 道路长度(单位:公里)。 相关属性(如路段建成年份、设计速度、车道数等)。 2. 数据格式: **Shapefile(.shp)**格式,支持主流GIS软件(如ArcGIS、QGIS)及数据处理工具(如Python、Matlab)。 3. 投影坐标系: 一般采用WGS84地理坐标系,或可根据需求转换为**GCJ-02(火星坐标系)**以配合国内导航应用。

    4.html

    4

    ASP网上作业提交系统(源代码+论文)(源代码+论文+说明文档).zip

    【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python、web、C#、EDA、proteus、RTOS等项目的源码。【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。

    Oracle常用分析函数说明中文最新版本

    Oracle从8.1.6开始提供分析函数,分析函数用于计算基于组的某种聚合值,它和聚合函数的不同之处是对于每个组返回多行,而聚合函数对于每个组只返回一行。 感兴趣的朋友可以过来看看

    1-商道融绿ESG评级季度数据及分项ESG评级2015-2022年-社科数据.zip

    商道融绿ESG评级季度数据及分项ESG评级2015-2022年的数据集提供了一个全面评估上市公司在环境、社会和公司治理(ESG)方面表现的视角。该数据集覆盖了2015至2022年间的数据,包含了沪深A股上市公司以及港股通的香港上市公司。数据集包含了多个维度的指标,如公司代码、公司名称、评级日期、ESG综合评级、历史评级、财务状况和所属行业等,共计13个指标。这些指标不仅包括了ESG评级,还涵盖了公司的财务分析,例如总市值、流通市值、市盈率PE(TTM)、每股收益EPS(TTM)、每股营业收入(TTM)以及每股经营活动产生的现金流量净额(TTM)等。此外,数据集还提供了证监会行业和Wind行业的分类信息,为研究者提供了一个多角度分析上市公司ESG表现的工具。该数据集对于投资者、资产管理公司以及企业自身在可持续发展报告撰写和风险管理中具有重要参考价值。

    WPF树菜单拖拽功能,下级目录拖到上级目录,上级目录拖到下级目录.zip

    WPF树菜单拖拽功能,下级目录拖到上级目录,上级目录拖到下级目录.zip

Global site tag (gtag.js) - Google Analytics