怎么使用Delphi获取当前的时间,精确到毫秒
先介绍一个可能比较常用的方法,获取当前时间
var
datetime: string;
begin
datetime:= FormatDateTime('yyyy-mm-dd hh:mm:ss', Now);
ShowMessage(datetime);
end;
其中的Now 函数是获取当前的时间,FormatDateTime 用于将Now获取的时间信息格式化为想要的格式。
这个方法可以获取当前时间,并且格式化为例如 2008-09-10 09:10:58 的格式。
在介绍能够获取毫秒信息的方法
var
currentTime:TSystemTime;
year, month, day, hour, minute, second, millisecond: string;
datetime: string;
begin
GetSystemTime(currentTime);
year:= IntToStr(currentTime.wYear);
month:= IntToStr(currentTime.wMonth);
day:= IntToStr(currentTime.wDay);
hour:= IntToStr(currentTime.wHour + 8);
minute:= IntToStr(currentTime.wMinute);
second:= IntToStr(currentTime.wSecond);
millisecond:= IntToStr(currentTime.wMilliseconds); datetime:= year + '-' + month + '-' + day + ' ' + hour + ':' + minute + ':' + second + ':' + millisecond;
ShowMessage(datetime);
end;
时间的小时数问题
和C家族的语言(比如C、C++、PHP)一样,这种方式获取的时间,年、月、日、分钟、秒、毫秒都是,但是获取的小时数是晚了8小时的,比如当前时间是19:30,但是使用这种方法得到的小时数是11点,所以在进行开发的时候,这个问题需要单独处理一下。
这也是为什么上面的代码中小时数会加8的原因:hour:= IntToStr(currentTime.wHour + 8);
需要引入的单元
要使用TSystemTime类型以及GetSystemTime过程需要引用Windows单元。
其中TSystemTime的定义是
PSystemTime = ^TSystemTime;
_SYSTEMTIME = record
wYear: Word;
wMonth: Word;
wDayOfWeek: Word;
wDay: Word;
wHour: Word;
wMinute: Word;
wSecond: Word;
wMilliseconds: Word;
end;
{$EXTERNALSYM _SYSTEMTIME}
TSystemTime = _SYSTEMTIME;
SYSTEMTIME = _SYSTEMTIME;
{$EXTERNALSYM SYSTEMTIME}
其中GetSystemTime的声明是这样的
procedure GetSystemTime; external kernel32 name 'GetSystemTime';
它的函数原型是
procedure GetSystemTime(var lpSystemTime: TSystemTime); stdcall;
一看就是使用静态加载的方式加载了DLL,所以在Windows里面也只是引入GetSystemTime过程,并没有实现,具体的实现是在 kernel32.dll这个DLL里面实现的。具体这个DLL是使用C语言还是使用Delphi语言实现的就不得而知了,等我以后研究到再说。(估计是用C实现的,要不为什么获取的时间的小时数会差8个小时,和C语言一样,不过这只是目前的猜测)
什么是kernel32.dll?
kernel32.dll是Windows 9x/Me中非常重要的32位动态链接库文件,属于内核级文件。它控制着系统的内存管理、数据的输入输出操作和中断处理,当Windows启动时,kernel32.dll就驻留在内存中特定的写保护区域,使别的程序无法占用这个内存区域。
怎么使用Delphi获取当前的时间,精确到毫秒的更多相关文章
- 用Delphi获取当前系统时间
在开发应用程序时往往需要获取当前系统时间.尽管Y2K似乎已经平安过去,但在我们新开发的应用程序中还是要谨慎处理“时间”问题. 在<融会贯通--Delphi4.0实战技巧>(以下简称“该书” ...
- Delphi获取当前系统时间(使用API函数GetSystemTime)
在开发应用程序时往往需要获取当前系统时间.尽管Y2K似乎已经平安过去,但在我们新开发的应用程序中还是要谨慎处理“时间”问题. 在<融会贯通--Delphi4.0实战技巧>(以下简称“该书” ...
- PHP——获取当前时间精确到毫秒(yyyyMMddHHmmssSSS)
前言 emmmmmm,别说话,我们偷偷偷狗子 格式 | yyyyMMddHHmmssSSS 代码 获取毫秒 //获取当前时间毫秒 function msectime() { list($msec, $ ...
- java获取当前时间精确到毫秒
转载:http://af8991.iteye.com/blog/1217672 import java.text.SimpleDateFormat; import java.util.Date; im ...
- java打印时间精确到毫秒
package net.floodlightcontroller.conflict; import java.io.*; import java.util.*; import java.text.Si ...
- C#获取代码执行时间(精确到毫秒)
private void Time(int i) { Stopwatch sw = new Stopwatch(); sw.Start(); Thread.Sleep(i); sw.Stop(); C ...
- java中获取日期和时间的方法总结
1.获取当前时间,和某个时间进行比较.此时主要拿long型的时间值. 方法如下: 要使用 java.util.Date .获取当前时间的代码如下 Date date = new Date(); da ...
- PHP时间戳与时间相互转换(精确到毫秒)
原文:PHP时间戳与时间相互转换(精确到毫秒) /** 获取当前时间戳,精确到毫秒 */ function microtime_float(){ list($usec, $sec) = explo ...
- Delphi获取句柄
Delphi获取句柄发布时间:2011-06-16转载文章请标明出处: http://code.01yun.com/asp0dm/asp0net0dm/20110616/55395.html查找另外一 ...
随机推荐
- C内嵌汇编-格式
C内嵌汇编-格式: __asm__(汇编语句部分:输出部分:输入部分破坏描述部分);C内嵌汇编以关键字"__asm__"或"asm"开始, 下辖四个部分, 各部 ...
- python_射门小游戏
import random def shoot(fs = 0,i = 0,j = 0): while i < 5: print("<<<<<<< ...
- Nike Zoom Winflo 2 Kvinder Sko Når jeg set elementet
De fleste af os elskede denne Nike Pegasus 34 foruden var ved at blive begejstret for at få dine ben ...
- 关于LESS
LESS 是动态的样式表语言,通过简洁明了的语法定义,使编写 CSS 的工作变得非常简单. 翻译成大白话:写CSS算是体力活,并没有编程的感觉,不给前端人员装逼的机会,于是就搞了这玩意,相当于编程写C ...
- 隐式的bean发现与自动装配机制
使用beans.xml文件进行bean的创建和注入通常是可行的,但在便利性上Spring提供了更简单的方法--自动装配 接下来我们假设一个场景:我有若干播放器(MediaPlayer{CD播放器/MP ...
- Redis实战阅读笔记——第二章
在性能的要求下,如何获取重构之前的构件
- Linux htop工具使用详解
一.Htop的使用简介 大家可能对top监控软件比较熟悉,今天我为大家介绍另外一个监控软件Htop,姑且称之为top的增强版,相比top其有着很多自身的优势.如下: 两者相比起来,top比较繁琐 默认 ...
- 【Android】Ignoring InnerClasses attribute for an anonymous inner class
这个问题是因为Android只能有6w个方法,解决方法,在defaultConfig中加入一句:multiDexEnabled true
- css3渐变
background:-webkit-linear-gradient | radial-gradient (水平起点 垂直起点 , 颜色1 百分比%, 颜色2 百分比%, ... ,颜色N 100 ...
- Tomcat使用详解
Tomcat简介 官网:http://tomcat.apache.org/ Tomcat GitHub 地址:https://github.com/apache/tomcat Tomcat是Apach ...