Linux 中编写一个程序,获取当前时间,并使用strftime将输出结果转换为类似wed de

Linux 中编写一个程序,获取当前时间,并使用strftime将输出结果转换为类似wed de,第1张

使用time获取时间

使用localtime生成struct tm 结构

然后再使用strftime格式化输出字符串

简单代码如下

#include <stdioh>

#include <timeh>

int main(int argc,char argv)

{

    time_t t;

    struct tm tm;

    char s[50];

    t=time(NULL);

    tm=localtime(&t);

    strftime(s,sizeof(s),"%a %b %d %T CST%Y",tm);

    printf("%s\n",s);

    return 0;

}

linux 如何查看各类用户尝试登陆的时间,ip地址信息等

你可以使用w命令

语法格式如下:

w -[husfV] [user]

下面对参数进行说明:

-h 不显示标题。

-u 当列出当前进程和CPU时间时忽略用户名。这主要是用于执行su命令后的情况。

-s 使用短模式。不显示登录时间、JCPU和PCPU时间。

-f 切换显示FROM项,也就是远程主机名项。默认值是不显示远程主机名,当然系统管理员可以对源文件 作一些修改使得显示该项成为默认值。

-V 显示版本信息。

user 只显示指定用户的相关情况。

解释:

USER —登录的用户名

TTY —登录后系统分配的终端号

FROM—远程主机名,即从哪儿登录来的

LOGIN@—何时登录

IDLE—空闲了多长时间,表示用户闲置的时间。这是一个计时器,一旦用户执行任何 *** 作,该计时器便会被重置

JCPU—和该终端(tty)连接的所有进程占用的时间,这个时间里并不包括过去的后台作业时间,但却包括当前正在运行的后台作业所占用的时间

PCPU—指当前进程(即在WHAT项中显示的进程)所占用的时间

WHAT—当前正在运行进程的命令行

例如:

user3 pts/39 19216805 07Jul13 2:11m 162s 158s ssh 10112

user3用户 2013年7月7日 从IP 19216805 登录到本机,终端号pts/39,已经2小时11分没有 *** 作了,登录后其所有进程占用CPU时间162秒,当前执行的程序是ssh 10112,占用CPU时间158秒

linux服务器如何检查远程用户登陆状态,时间,ip地址等信息

使用命令 last或者w

如何查看域用户登陆域的时间

1 开始->管理工具->域控制器安全策略->本地策略->审核策略->审核登录事件->选择“成功”选项, 关闭“域控制器安全策略”管理单元。

2 在命令行提示符窗口中,输入“GPUDATE/FORCE” ,然后按 “回车” ,立即刷新本地策略;

3 开始->运行”并输入“EVENTVWRMSC” ->安全性->察看登陆信息;

如何查看对方qq登陆地址或ip地址

QQ安全中心

linux (用命令)如何查看当前用户登陆信息?

who 和 w都可以的,也可以用ps -aux|grep ssh看用ssh登陆的用户信息

很基础噢,直接搜索就好,百度知道有些慢的

如何查看QQ好友IP地址信息

今天我为大家带来如何查看QQ好友的IP地址,进而如何查看QQ好友的地址信息,希望分享出来对大家有所帮助。 方法/步骤 1、首先我们右键点击电脑下方任务栏的空白区域,在下拉菜单中找到任务管理器打开。 2、进入任务管理器界面,在上方菜单栏中找到性能选项,然后在性能对话框右下角找到资源监视器打开。 3、进入资源监视器主界面之后,我们在上方的菜单栏里面找到网络选项,点击进入网络详细信息界面。 4、在网络界面我们找到下方的TCP连接选项,然后点击TCP菜单里面的IP地址选项右键点击,选择列。 5、在列属性窗口里我们把,下边的接收,发送,总数选项前面的勾给打上,方便我们获得详细信息,便于搜索。 6、然后找到我们想要查看的QQ好友,与其发送信息进行交谈,等待对方回复我们信息。最后时间对话长一点这样方便我们监测器有效的检测到IP地址信息。 7、待对方回复我们之后,我们在TCP连接中找到QQ主程序,可以在后方的远程地址中看到一个IP地址,这个IP地址就是刚才与我们聊天的好友的IP地址。 8、然后我们把 这个IP地址复制下来。打开百度搜索,在搜索栏目里输入QQ好友的IP地址,点击搜索就可以查看到我们QQ好友在什么地方了。 以上就是如何查看QQ好友的IP地址信息方法介绍,希望能对大家有所帮助!

如何查看QQ好友的IP地址信息

目前没有什么好方法可以查到对方IP

比较简单的方式

就是开启视频聊天 或者传送大文件

这样会建立点对点连接

然后 到任务管理器里面查网络

不过 有时不准。

一、使用专门的IP地址检测工具

最简单的方法,目前用于检测QQ好友IP地址的工具中最出名的有以下两个:

1网络企鹅

软件版本:2001C1

软件大小:637KB

软件性质:共享软件(功能无限制)

适用平台:Windows 9x/Me/2000

“网络企鹅”除能查看好友IP地址,分析所在地理位置外,内部还存储有200多个很酷的聊天贴图和聊天用语,供你复制使用;内置消息炸d,允许多消息循环自动发送以及消息发送间隔时间;屏蔽QQ广告,无论你怎么点,都不会出现广告页面。

首先连接Inter,登录QQ,再运行“网络企鹅”,第一次运行时软件会询问一些基本信息,可以不填,软件启动成功后会在任务栏右端出现**的笑脸图标。

点系统托盘处的小脸图标,从d出的菜单中选择“IP查看”。这时会d出一个没有任何内容的窗口,此时可以给在线好友发一个消息。消息发过去后,他的IP地址、号码、端口等信息会加入到前述的窗口中(如图1)。以后,每得到一个新的好友IP地址信息,“网络企鹅”将自动将其相关信息加入“IP查看”窗口。

2QQ狙击手

软件版本:20

软件大小:1MB

软件性质:共享软件(功能限制)

适用平台:Windows 9x/Me/2000

“QQ狙击手”的功能相当简单,只能用来查看好友的IP地址及其来自何方。第一次运行QQ狙击手时,需在“设置”中点击右边的“打开文件夹”图标,定位到 QQ的安装目录和执行文件(例如:C:\Program Files\Tencent\ QQ2000Bexe),另外还可设置QQ的客户端默认端口等。上述设置完成后,“QQ狙击手”就启动了,其界面如图2),窗口上半部是与你通讯的好友或陌生人的IP地址信息及其来自什么地方。下半部是实时更新的,只要QQ与外界通讯,这部分就会实时显示信息。

如何得到更准确的地址

用以上两个软件获得的好友IP地址是准确无误的,但所示的地理位置不一定准确,可能是IP地址库更新较慢的原因。因此,我知道了好友的IP后,会到“追捕”(下载网址: :zhuibu)中进行查看。由于该软件的IP地址库非常大且很全,更新速度又快,因此得到好友的地理位置是比较准确的。

二、利用防火墙查看IP

你是在网吧上QQ吗?那上面所说的专用QQ好友IP地址查看工具可能无法使用,难道就束手无策了吗?其实我们还可以使用防火墙来获得IP地址,因为一般的网吧为了自身安全一定都会安装防火墙软件,下面以“天网防火墙”为例进行说明:

1运行防火墙程序,在“自定义IP规则”那一栏把“UDP数据包监视”选项打上勾(QQ中的聊天功能使用的是UDP的4000端口作为数据发送和接收端口)。接着点一下工具按钮上那个像磁盘一样的图标,再点“确定”按钮。

2运行QQ,当发信息给好友时,发完信息后再切换到防火墙程序所在窗口,看看当前由防火墙记录下来的日志(点击主界面像铅笔一样的按钮即进入日志界面),其记录格式如下:

[11:07:33] 发送到 202104129251 的 UDP 数据包,

本机端口: OICQ Client[4000] ,

对方端口: OICQ Server[8000]

继续下一规则。

[11:07:33] 接收到 202104129251 的 UDP 数据包,

本机端口: OICQ Client[4000] ,

对方端口: OICQ Server[8000]

继续下一规则。

其中的“202104129251”就是好友的IP地址,接着再配合“追捕”之类的工具软件,就知道好友大概在哪里了。

三、用DOS命令查看IP

如果你所在的网吧连防火墙也没安装,那么就用古老的DOS命令吧,也就是用stat这个命令来查看。

用此方法有个前提条件,那就是一定要用甜言蜜语把想知道IP地址的好友请到QQ的“二人世界”里。然后在MS-DOS窗口里输入如下命令:stat -n ,你将看到如下内容:

Active Connections

Proto Local Address Foreign Address State

TCP 611093478:1200 61154155109:61555 ESTABLISHED

TCP 611093478:2694 6114313634:6667 ESTABLISHED

TCP 611093478

鼠标右键单击电脑左面最下方的工具条,然后点击”启动任务管理器“。

在任务管理器里面点击”资源检测器”。

在资源检测器页面依次点击“网络”,印象里面带“qq”两字的都点上√,然后在侦听端口,右键点击“印象”,然后在d出来的会话框中点击“选择列”。

在选择列会话框中的地址前面打上“√”,然后单击确定“。

然后返回TCP连接,并把这个窗口放大,方便查看IP地址。

然后找qq找一个人聊天,并观测步奏5所示的窗口。

在TCP连接窗口你可以看到一个没有本地IP的地址,那个就是你聊天的人的IP地址,然后你可以通过IP去查找地理位置。

java中如何获得上次登陆的时间和IP地址?

第一次登录时获取其当前时间和当前IP,并存入数据库,每次登录时再获取并在退出时将数据录入数据库中覆盖之间的登录时间和登录IP。查看时通过数据库来查询

1 查看时间和日期

命令 : "date"

2设置时间和日期

例如:将系统日期设定成2009年11月3日的命令

命令 : "date -s 11/03/2009"

将系统时间设定成下午5点55分55秒的命令

命令 : "date -s 17:55:55"

RTC时间 *** 作:

1rtc时间是由rtc硬件控制的,所以在linux中想要修改和获取rtc时间就只能通过驱动的接口来获取和修改。

intrtc_test(void)

{

structrtc_timertc;

intfd=-1;

intret=-1;

fd=open("/dev/rtc0",O_RDWR);

if(fd<0){

return-1;

}

ret=ioctl(fd,RTC_RD_TIME,&rtc);

if(ret<0){

return-1;

}

printf("\nCurrentRTCdata/timeis%d-%d-%d,%02d:%02d:%02d\n",rtctm_mday,rtctm_mon+1,

rtctm_year+1900,rtctm_hour,rtctm_min,rtctm_sec);

ret=ioctl(fd,RTC_SET_TIME,&rtc);

if(ret<0){

return-1;

}

return0;

}

2除了上面这种方式 *** 作rtc时间以外,linux中也有一个命令可以简化rtc时间 *** 作,hwclock,比如,可以通过system("hwclock-w");系统调用来把xtime设置到rtc硬件。

墙上时间(realtime、xtime):

linux系统中主要使用的就是xtime,它是系统运行的基础,很多程序都是依赖于xtime来运行的,接下来将介绍将如何 *** 作xtime。

1获取、设置微秒级别的时间:

#include

#include

structtimeval

{

inttv_sec;

inttv_usec;

};

intgettimeofday(structtimevaltv,structtimezonetz);

intsettimeofday(conststructtimevaltv,conststructtimezonegz);

功能描述:

gettimeofday()获取当前时间,有tv指向的结构体返回。

settimeofday()把当前时间设成由tv指向的结构体数据。当前地区信息则设成tz指向的结构体数据。

2获取秒级别的时间

typedeflongtime_t;

time_ttime(time_tt);

如果t是non-null,它将会把时间值填入t中

3内核26版本后新增的clockapi接口

获取纳秒级别的时间

structtimespec{

time_ttv_sec;/秒s/

longtv_nsec;/纳秒ns/

};

intclock_getres(clockid_tclk_id,structtimespecres);

intclock_gettime(clockid_tclk_id,structtimespectp);

intclock_settime(clockid_tclk_id、conststructtimespectp);

编译连接时采用-lrt才能编译通过。

clk_id可选参数:

CLOCK_REALTIME

系统全局的实时时钟设置此时钟需要合适的权限

CLOCK_MONOTONIC

只能被读取,无法被设置,表示monotonic时间起点

CLOCK_PROCESS_CPUTIME_ID

从cpu每进程的高分辨率计时器

CLOCK_THREAD_CPUTIME_ID

线程的特定cpu时间时钟

系统启动时,会首先从rtc中读取rtc时间,并设置给xtime,而当ntp对系统时间进行更新时,首先设置xtime,然后调用hwclock设置到rtc硬件中。xtime根据需要的精度,可以通过上面几个接口来选择使用。

24小时,就是相差一天,所以变化的只有天数。

我这里提供一个笨方法:

用date获取当前日期和时间,格式化成你的文件命名格式,用下面的字符串截取方法获得天数:

${varible:n1:n2}:截取变量varible从n1到n2之间的字符串

天数减1后,重新组织成新的字符串。

用循环比较 ls 出来的文件名与这个字符串。

代码试过后再放上来。

没有完整程序, 不过能提供一点资料

int gettimeofday(struct timeval tv,struct timezone tz);

这个函数可以获取当前时间, 貌似只要第一个结构体就行了

struct timeval

{

time_t tv_sec; //秒 [long int]

suseconds_t tv_usec; //微秒 [long int], (10E-6 second)

};

struct timeval

{

long tv_sec;

long tv_usec;

};

然后取微秒的前三位就是小数了, 之后把秒 tv_sec 转化为 tm 格式, 参数用秒的指针就行

struct tm gmtime(const time_t t);

//转换成格林威治时间。有时称为GMT或UTC。

struct tm localtime(const time_t t);

//转换成本地时间。它可以透过修改TZ环境变数来在一台机器中,不同使用者表示不同时间

下面是tm的部分参数

int tm_sec; //tm_sec表「秒」数,在[0,61]之间,多出来的两秒是用来处理跳秒问题用的。/ Seconds: 0-59 (K&R says 0-61) /

int tm_min; //tm_min表「分」数,在[0,59]之间。

int tm_hour; //tm_hour表「时」数,在[0,23]之间。

int tm_mday; //tm_mday表「本月第几日」,在[1,31]之间。

int tm_mon; //tm_mon表「本年第几月」,在[0,11]之间。

int tm_year; //tm_year要加1900表示那一年。 / / 年份,其值从1900开始 //

int tm_wday; //tm_wday表「本周第几日」,在[0,6]之间。 / Days since Sunday (0-6) / /其中0代表星期天,1代表星期一,以此类推 /

int tm_yday; //tm_yday表「本年第几日」,在[0,365]之间,闰年有366日。 /其中0代表1月1日,1代表1月2日,以此类推 //

int tm_isdst; //tm_isdst表是否为「日光节约时间」

------------------------------华丽丽的分割线--------------------------------------------------

由于很长时间没编程了, 也没有Linux环境, 我就简单写几行代码, 仅作参考

#include <stdioh>

#include <timeh>

#include <sys/timeh>

#include<unistdh>

//这四个不一定够用了

struct timeval tv;

struct timezone tz;

struct tm p_tm;

//变量没有初始化习惯不好,不要学

gettimeofday(&tv, &tz);

p_tm = gmtime( (const time_t )&tvtv_sec );

字符串的组装尤其格式问题自己解决吧

年 p_tm->tm_year+ 1900

月 p_tm->tm_mon+ 1

日 p_tm->tm_mday

时 p_tm->tm_hour+ 1

分 p_tm->tm_min+ 1

秒 p_tm->tm_sec+ 1

小数点后面的部分,注意不够三位还是前面填充0 tvtv_sec/1000

以上就是关于Linux 中编写一个程序,获取当前时间,并使用strftime将输出结果转换为类似wed de全部的内容,包括:Linux 中编写一个程序,获取当前时间,并使用strftime将输出结果转换为类似wed de、linux 如何查看各类用户尝试登陆的时间,ip地址信息等、Linux显示当前系统时间命令等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/9570026.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存