linux下 C语言 printf("%09s“, ”999");无法前补0,有没有什么办法?

linux下 C语言 printf("%09s“, ”999");无法前补0,有没有什么办法?,第1张

如果非要补0,有2个办法

1,如果输入的串全是数字,那么atoi一下

2,如果输入的串里有字母,那么你最好定义一个全’0‘的数组,然后memcpy,这个麻烦点,需要算

由于printf很难右边补零这样的特性,可以换一种方式,作为字符串处理echo 12145 | awk '{width=10printf("%d",$1)for(i=0i<width-length($1)++i) printf "0"print ""} '其中width为指定的宽度

修改linux的时间可以使用date指令

修改日期

时间设定成2011年10月11日的命令如下:

#date -s 11/10/2011

修改时间:

将系统时间设定成上午10点18分0秒的命令如下。

#date -s 10:18:00

修改时区:

找到相应的时区文件 /usr/share/zoneinfo/Asia/Shanghai替换当前的/etc/localtime。

修改/etc/sysconfig/clock文件的内容为:

ZONE=”Asia/Shanghai”

UTC=false

ARC=false

同步bios时间:

同步BIOS时钟,强制把系统时间写入CMOS,命令如下:

#clock -w

date命令的功能是显示和设置系统日期和时间。

输入date 查看目前系统时间。

修改时间需要 date -功能字符 修改内容

命令中各选项的含义分别为:

-d datestr, --date datestr 显示由datestr描述的日期

-s datestr, --set datestr 设置datestr 描述的日期

-u, --universal 显示或设置通用时间

时间域

%H 小时(00..23)

%I 小时(01..12)

%k 小时(0..23)

%l 小时(1..12)

%M 分(00..59)

%p 显示出AM或PM

%r 时间(hh:mm:ss AM或PM),12小时

%s 从1970年1月1日00:00:00到目前经历的秒数

%S 秒(00..59)

%T 时间(24小时制)(hh:mm:ss)

%X 显示时间的格式(%H:%M:%S)

%Z 时区 日期域

%a 星期几的简称( Sun..Sat)

%A 星期几的全称( Sunday..Saturday)

%b 月的简称(Jan..Dec)

%B 月的全称(January..December)

%c 日期和时间( Mon Nov 8 14:12:46 CST 1999)

%d 一个月的第几天(01..31)

%D 日期(mm/dd/yy)

%h 和%b选项相同

%j 一年的第几天(001..366)

%m 月(01..12)

%w 一个星期的第几天(0代表星期天)

%W 一年的第几个星期(00..53,星期一为第一天)

%x 显示日期的格式(mm/dd/yy)

%y 年的最后两个数字( 1999则是99)

%Y 年(例如:1970,1996等)

需要特别说明的是,只有超级用户才能用date命令设置时间,一般用户只能用date命令显示时间。

例1:用指定的格式显示时间。

$ date '+This date now is =>%x ,time is now =>%X ,thank you !'

This date now is =>11/12/99 ,time is now =>17:53:01,thank you !

例2:用预定的格式显示当前的时间。

# date

Fri Nov 26 15:20:18 CST 1999

例3:设置时间为下午14点36分。

# date -s 14:36:00

Fri Nov 26 14:15:00 CST 1999

例4:设置时间为1999年11月28号。

# date -s 991128

Sun Nov 28 00:00:00 CST 1999

实例:设置时间伟2008年8月8号12:00

# date -s "2008-08-08 12:00:00"

修改完后,记得输入:clock -w

把系统时间写入CMOS


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

原文地址: http://outofmemory.cn/yw/8925708.html

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

发表评论

登录后才能评论

评论列表(0条)

保存