Msg.time是一个Dword类型,如何将这个值转换为其对应2000-09-09 12:20’形式???

解决方案 »

  1.   

    datetime本身就是一个float类型,可以直接赋值。显示的话,FormatDateTime或者DateTimeToStr都行吧。
      

  2.   

    DWORD?? 你传过来的Msg.Time如果没约定过时间格式的话,那应该只包含了日期或时间其中一个的信息吧,如果传递过来的Msg.Time格式化过的,比如FormatDateTime('YYYYMMDDHHMMSS',Now),那怎么解析就不用我解释了吧。DateTime本身是个Double型,即浮点数,小数点前代表日期,小数点后代表时间。
      

  3.   

    Msg.time是自windows启动以来的毫秒数。一般消息不会被搁置很久不处理的。不用管这个Msg.Time了直接调用Now取时间就好了。除非你的要求非常精确。
      

  4.   

    FormatDateTime
    DateTimeToStr
    这就可以实现啊
      

  5.   

    FormatDateTime('yyyy-mm-dd hh:nn', Msg.time);
      

  6.   

    如果你的MSg.Time是这样一种格式YYYYMMDDHHMMSS,那么这样就可以了FormatDateTime('yyyy-mm-dd hh:nn', Msg.time);
      

  7.   

    FormatDateTime('yyyy-mm-dd hh:nn', Msg.time);
      

  8.   

    zhouzuoji 说到最根本了
    Msg.time是自windows启动以来的毫秒数。一般消息不会被搁置很久不处理的。不用管这个Msg.Time了直接调用Now取时间就好了。除非你的要求非常精确。FormatDateTime('yyyy-mm-dd hh:nn', Msg.time);这可以,但是对msg.time的意义不清楚。
    Msg.time是自windows启动以来的毫秒数。一般消息不会被搁置很久不处理的。不用管这个Msg.Time了直接调用Now取时间就好了。除非你的要求非常精确。谢谢各位了