C++获取当前系统时间

在做银行系统的过程中,想到一个功能,记录每一位用户的操作,即用户的日志。此时需要用到ctime库来获取当前的系统时间。

获取时间的源码如下:

    time_t curtime=time(0);
    tm tim =*localtime(&curtime);
    int day,mon,year;
    int hour,min,sec;
    string time;
    hour=tim.tm_hour;
    min=tim.tm_min;
    sec=tim.tm_sec;
    day=tim.tm_mday;
    mon=tim.tm_mon;
    year=tim.tm_year;
    time=int2str(year+1900)+"-"+int2str(mon+1)+"-"+int2str(day)+" "+int2str(hour)+":"+int2str(min);
    cout<<time<<endl;

其中,在tm结构体中:

struct tm
{
int tm_sec; /*秒,0-59*/
int tm_min; /*分,0-59*/
int tm_hour; /*时,0-23*/
int tm_mday; /*天数,1-31*/
int tm_mon; /*月数,0-11*/
int tm_year; / *自1900的年数*/
int tm_wday; /*自星期日的天数0-6*/
int tm_yday; /*自1月1日起的天数,0-365*/
int tm_isdst; /*是否采用夏时制,采用为正数*
}

注意

time是一个字符串型的变量,而所得到的year,mon,day等都是int型的变量,为了在银行系统里把时间作为一个变量输入到文件中,构造了一个int转string类型的函数:

string BankData::int2str(int num)
{
    if (num==0)
    return "0" ;
    string str="";
    int num_=num>0?num:-1*num;
    while (num_)
    {
        str=(char)(num_%10+48)+str;
        num_/=10 ;
    }
    if (num<0)
        str="-"+str;
    return str;
}

通过各个string变量的相加得到time变量。

@ Mayuko

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-08-26 10:35:49

C++获取当前系统时间的相关文章

java中获取当前系统时间,并与字符串相互转换格式,或者转化成秒数,天数等整数

转换成秒数 Date类有一个getTime()可以换回秒数,例如: public class DateToSecond { public static void main(String[] args) { Date date = new Date(System.currentTimeMillis()); System.out.println(date.getTime()); } } 与字符串格式相互转换 一. 获取当前系统时间和日期并格式化输出: import java.util.Date; i

Delphi获取当前系统时间(使用API函数GetSystemTime)

在开发应用程序时往往需要获取当前系统时间.尽管Y2K似乎已经平安过去,但在我们新开发的应用程序中还是要谨慎处理“时间”问题. 在<融会贯通--Delphi4.0实战技巧>(以下简称“该书”)第89页专门介绍了两种获取当前系统时间的方法,但这两种方法都存在不足或错误,以下就此进行讨论. 该书第一种方法是利用Time()函数获得当前系统时间,返回结果是TDateTime结构类型的变量.例如: procedure TForm1.Button2Click(Sender: TObject); var D

JAVA中获取当前系统时间

获取当前系统时间和日期并格式化输出: import java.util.Date; import java.text.SimpleDateFormat; public class NowString { public static void main(String[] args) { SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式 System.out.println(df.forma

Java 获取当前系统时间方法比较

转载: http://blog.csdn.net/zzjjiandan/article/details/8372617 一. 获取当前系统时间和日期并格式化输出: import java.util.Date;import java.text.SimpleDateFormat; public class NowString {public static void main(String[] args) { SimpleDateFormat df = new SimpleDateFormat("yy

关于时间的操作(Java版)——获取距离系统时间N天后的日期时间信息

import java.util.Calendar; import java.util.TimeZone; public class Test { /** * 获取距离系统时间N天后的日期时间信息 * * @author GaoHuanjie */ public String getDateAfterNdays(int days){ Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("GMT+8")); cale

JAVA中获取当前系统时间及格式转换

JAVA中获取当前系统时间 一. 获取当前系统时间和日期并格式化输出: import java.util.Date;import java.text.SimpleDateFormat; public class NowString {public static void main(String[] args) { SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式System.out.pr

【Linux学习】 写一个简单的Makefile编译源码获取当前系统时间

打算学习一下Linux,这两天先看了一下gcc的简单用法以及makefile的写法,今天是周末,天气闷热超市,早晨突然发现住处的冰箱可以用了,于是先出去吃了点东西,然后去超市买了一坨冰棍,老冰棍居多,5毛钱一根,还有几根1.5的. 嗯 接着说gcc的事 先把源代码贴上来 //gettime.h #ifndef _GET_TIME_H_ #define _GET_TIME_H_ void PrintCurrentTime(); #endif //gettime.c #include <stdio.

java获取当前系统时间

一. 获取当前系统时间和日期并格式化输出: import java.util.Date;import java.text.SimpleDateFormat; public class GetCurrentTime { public static void main(String[] args)    {           SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式       

JAVA中获取当前系统时间的两种方法

一. 获取当前系统时间和日期并格式化输出: import java.util.Date;import java.text.SimpleDateFormat; public class NowString {public static void main(String[] args) { SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式System.out.println(df.forma

javascript——获取当前系统时间

输出当前系统时间: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>获取当前系统时间</title> <script> window.onload = function(){ // 获取body元素 var oBody = document.body; // 设置定时器,每隔1秒执行一次该函数