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

 在 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

这样就可以作为文件名来用了。

你可能感兴趣的:(windows,linux,字符串,时间)