您的位置:首页 > 运维架构 > Linux

windows和linux下把时间变成字符串的方式

2013-01-04 19:13 232 查看
在 Windows、Linux 操作系统,分别利用BAT批处理文件和Shell脚本,生成类似“20110228_082905.txt”以“年月日_时分秒”命名的文件。

Windows BAT批处理文件:

@echo off

set time_hh=%time:~0,2%

if /i %time_hh% LSS 10 (set time_hh=0%time:~1,1%)

set filename=%date:~,4%%date:~5,2%%date:~8,2%_%time_hh%%time:~3,2%%time:~6,2%

echo test >> %filename%.txt
powershell的处理方法:
get-date 获得当前的时间
(Get-Date).AddSeconds(10) 获得当前时间的后10秒的时间
(Get-Date).Adddays(-10) 获得当前的时间的前10天的时间
还有 addmonths addyears 等等获取时间的方法

Linux Shell 脚本:

#!/bin/sh

echo test >> $(date -d "today" +"%Y%m%d_%H%M%S").txt

还有一个例子:

date -d '1 day' +%Y%m%d 输出结果是当前时间的后一天 比如当天是20121213,那么返回的结果是20121214
date -d '-1 day' +%Y%m%d 输出结果是当前时间的前一天 比如当天是20121213,那么返回的结果是20121212
date -d today +%Y%m%d 返回的是当天的时间

给变量赋值的例子如下:
a=(date -d '1 day' +%Y%m%d) //注意变量赋值等号的前后不能有空格
echo $a

时间变成文件名的例子:
a=$(date -d "today" +"%Y_%m_%d_%H%M%S").accesss.txt
echo $a
这个例子的返回结果是:
2012_12_13_224231.accesss.txt
这样就可以作为文件名来用了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  时间 字符串 linux windo