
/方案— 优点:仅使用C标准库;缺点:只能精确到秒级
#include <timeh> #include <stdioh> int main( void ) { time_t t = time(0); char tmp[64]; strftime( tmp, sizeof(tmp), "%Y/%m/%d %X %A 本年第%j天%z",localtime(&t) ); puts( tmp ); return 0; }
size_t strftime(char strDest, size_t maxsize, const char format, const struct tm timeptr);
根据格式字符串生成字符串。
struct tm localtime(const time_t timer);
取得当地时间,localtime获取的结果由结构tm返回
返回的字符串可以依下列的格式而定:
%a 星期几的缩写。Eg:Tue
%A 星期几的全名。 Eg: Tuesday
%b 月份名称的缩写。
%B 月份名称的全名。
%c 本地端日期时间较佳表示字符串。
%d 用数字表示本月的第几天 (范围为 00 至 31)。日期
%H 用 24 小时制数字表示小时数 (范围为 00 至 23)。
%I 用 12 小时制数字表示小时数 (范围为 01 至 12)。
%j 以数字表示当年度的第几天 (范围为 001 至 366)。
%m 月份的数字 (范围由 1 至 12)。
%M 分钟。
%p 以 ''AM'' 或 ''PM'' 表示本地端时间。
%S 秒数。
%U 数字表示为本年度的第几周,第一个星期由第一个周日开始。
%W 数字表示为本年度的第几周,第一个星期由第一个周一开始。
%w 用数字表示本周的第几天 ( 0 为周日)。
%x 不含时间的日期表示法。
%X 不含日期的时间表示法。 Eg: 15:26:30
%y 二位数字表示年份 (范围由 00 至 99)。
%Y 完整的年份数字表示,即四位数。 Eg:2008
%Z(%z) 时区或名称缩写。Eg:中国标准时间
%% % 字符。
//方案二 优点:能精确到毫秒级;
#include <windowsh> #include <stdioh> int main( void ) { SYSTEMTIME sys; GetLocalTime( &sys ); printf( "M/d/d d:d:dd 星期\n", syswYear,syswMonth,syswDay,syswHour,syswMinute, syswSecond,syswMilliseconds,syswDayOfWeek); return 0; }
//此文件必须是c++文件
#include<stdlibh> #include<iostream> using namespace std; void main() { system("time"); }
//方案四,将当前时间折算为秒级,再通过相应的时间换算即可
//此文件必须是c++文件
#include<iostream> #include<ctime> using namespace std; int main() { time_t now_time; now_time = time(NULL); cout<<now_time; return 0;
获得当前系统时间:Now();
功能得到客户机的当前系统时间,返回值为Time类型。
PowerBuilder常用日期时间函数Today():功能得到当前系统日期,在某些情况下,同时得到当前系统时间。
返回值:Date。该函数返回当前系统日期。用法:单独调用Today()函数时,该函数总是返回当前系统日期,但是,虽然Today()函数的返回值类型为Date,在该函数用做某些函数的参数、而该参数要求DateTime类型的值时,Today()函数也能够在返回当前系统日期的同时返回当前系统时间。再如,Today()函数作为数据窗口控件SetItem()函数的参数,该函数参数中指定的数据窗口列的数据类型为DateTime,那么当前系统日期和时间将同时设置到数据窗口指定项中。
软糖来回答吧
1使用DateTimeNow函数
DateTime 当前时间 = DateTimeNow;string 毫秒 = 当前时间ToString(@"ss\:fff"); //显示2位秒数和秒数后面3位
2使用高精度计时器API
//用于得到高精度计时器(如果存在这样的计时器)的值。微软对这个API解释就是每秒钟某个计数器增长的数值。//如果安装的硬件不支持高精度计时器,函数将返回false需要配合另一个API函数QueryPerformanceFrequency。
[DllImport("kernel32dll ")]
static extern bool QueryPerformanceCounter(ref long lpPerformanceCount);
[DllImport("kernel32")]
static extern bool QueryPerformanceFrequency(ref long PerformanceFrequency);
public void 测试2()
{
long a = 0;
QueryPerformanceFrequency(ref a);
long b = 0, c = 0;
QueryPerformanceCounter(ref b);
ThreadSleep(2719);
QueryPerformanceCounter(ref c);
ConsoleWriteLine((c - b) / (decimal)a); //单位秒
}
如满意,请采纳,谢谢。
timeh中的time函数获取系统当前的时间,用法如下:
在文件开头包含timeh(#include<timeh>)
void main()
{
time_t tm;
time(&tm); //其中tm就是当前系统时间,精确到秒
}
windows下面的有windowsh中的GetTickCount函数(返回开机时经过的ms(毫秒)数),其用法都一样,都是获取系统当前时间,只是精确度不同而已。
void main()
{
long n;
cout<<n=GetTickCount()<<endl;
}
<%@ page language="java" import="javautil" pageEncoding="gb2312"%>
<html>
<body onload="disptime();">
<FORM NAME="myform">
<DIV align="center">
<SCRIPT language="JavaScript">
<!--
function disptime( )
{
var time = new Date( ); //获得当前时间
var year = timegetYear( );//获得年、月、日
var month = timegetMonth( );
var day = timegetDay( );
var hour = timegetHours( ); //获得小时、分钟、秒
var minute = timegetMinutes( );
var second = timegetSeconds( );
var apm="AM"; //默认显示上午: AM
if (hour>12) //按12小时制显示
{
hour=hour-12;
apm="PM" ;
}
if (minute < 10) //如果分钟只有1位,补0显示
minute="0"+minute;
if (second < 10) //如果秒数只有1位,补0显示
second="0"+second;
/设置文本框的内容为当前时间/
documentmyformmyclockvalue =year+"年"+month+"月"+day+"日 "+hour+":"+minute+":"+second+" "+apm;
/设置定时器每隔1秒(1000毫秒),调用函数disptime()执行,刷新时钟显示/
var myTime = setTimeout("disptime()",1000);
}
//-->
</SCRIPT>
动态显示时间<INPUT name="myclock" type="text" value="" size="25">
<br>
静态显示时间 <%=new javautilDate()%>
</body></html>
你的提问中时间计算不对吧,6月7日15时到8时20时超过一天再5个小时,怎么会是20小时呢?如果非得要是20小时,那是不是考虑中间休息9个小时,如果是,应该说明。现在暂不考虑这个9小时的休息时间,B3中的公式:
=TEXT(B2-B1,"[H]:mm")&"H"
B8中的公式:
=B6+LEFT(B7,LEN(B7)-1)/24
以上就是关于Wince上如何获取系统时间的函数全部的内容,包括:Wince上如何获取系统时间的函数、powerbuilder 的时间函数,如何获取当前系统时间、C#中有没有获取当前时间毫秒时的函数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)