存档
Linux下使用date计算某个月份的天数:
Month=2 Year=2008 nextmonth=`date -d "1 month $Year-$Month-"01"" +%Y-%m-%d` date -d "-1 day $nextmonth" +%d #或者将-d "1 month $Year-$Month-"01"" 和 date -d "-1 day $nextmonth" 写在一行命令中 Month=2 Year=2008 date -d "1 month $Year-$Month-"01"" -d "-1 day" +%d
使用cal 计算某个月份的天数:
在aix系统中date命令没有-d这个选项,不接收输入的日期值。
在aix系统中如果想获得当前时间的前几天或后几天的时间,可以用改变当前时区的方法。
export TZ=BEIST-8是系统当前时间。
调整时区可以改变时间。
例如:获取下一周的时间 export TZ=BEIST-176 ,176是由(24*7+8)获得
获取上一周的时间 export TZ=BEIST+160 ,160是由(24*7-8)获得
调整时区只改变当前窗口的时间,对服务器没有影响,但是建议在用完时间后将时区调整回来(export TZ=BEIST-8)这样对系统没有任何影响。
例:有表
--sybase
create table t_test(
mydate datetime)
go
--oracle
create t_test(mydate date)
方法1:在sybase侧建立视图,然后从导出视图(此方法舍弃了毫秒部分)
create view v_test as
select
convert(varchar(10),pst_exec_stime,111)+' '+convert(varchar(9),pst_exec_stime,8) mydate
from t_test
go
纠结了很久了。最近在研究7z的时候,才知道如何使用cmd下的date和time
例如我要生成一个D盘下的200909文件夹,
代码:
MD D:\%date:~0,4%%date:~,2%
time和date的用法类似。。。。。就不列举了。给大家一个参考
境变量替换已如下增强:
%PATH:str1=str2%
会扩展 PATH 环境变量,用 "str2" 代替扩展结果中的每个 "str1"。要有效地从扩展结果中删除所有的 "str1","str2" 可以是空的。"str1" 可以以星号打头;在这种情况下,"str1" 会从扩展结果的开始到 str1 剩余部分第一次出现的地方,都一直保持相配。也可以为扩展名指定子字符串。
%PATH:~10,5%
会扩展 PATH 环境变量,然后只使用在扩展结果中从第 11 个(偏移量10)字符开始的五个字符。如果没有指定长度,则采用默认值,即变量数值的余数。如果两个数字(偏移量和长度)都是负数,使用的数字则是环境变量数值长度加上指定的偏移量或长度。
%PATH:~-10%
会提取 PATH 变量的最后十个字符。
%PATH:~0,-2%
会提取 PATH 变量的所有字符,除了最后两个。但是需要注意window 2000和xp有一定的区别,自己去体会!
转自:http://blog.csdn.net/gltianwen/archive/2009/09/07/4527420.aspx
Oracle中查询月底那天的日期的函数为:last_day()。 在ASE中没有对应的函数,在Oracle移植到Sybase的时候,需要手动编写函数来实现,幸亏ASE15.0.2后开始支持自定义函数。
下面提供3种实现查询本月最后一天的日期的SQL语句:
第一种:
select dateadd(dd,-1,convert(char(8),(datepart(yy,dateadd(mm,1,getdate()))*10000+datepart(mm,dateadd(mm,1,getdate()))*100+01)))
go
将本月的下一个月的年份和月份提取出来,以数字的形式相加,然后转化成类似YYYYMMDD的这种日期格式。最后直接取下个月的第一天的前一天即可。在ASE中字符串 '20110101' 和 convert(datetime,'20110101') 是相等的。
第二种: