od 日期处理函数
1.功能:
od函数是提供日期操作功能的函数,包括对年,半年,季度,月,旬,日的操作。
od函数返回的是字符串类型。
2. 函数格式:
函数形式为:
1. od(源时间数据字符串,操作符) eg: od("2006","y=2005")
年:操作符为"y" ,标准格式为xxxx(四位),eg:2006 表示2006年
半年:操作符为"hy",标准格式为x (一位),eg: 20061 表示2006年上半年
季度:操作符为"q",标准格式为x(一位),eg:20061 表示2006年第1季度
月:操作符为"m" ,标准格式为xx(两位),eg:200601 表示2006年1月
旬:操作符为"t",标准格式为x(一位),eg:2006011 表示2006年1月上旬
日:操作符为"d",标准格式为xx(两位) ,eg:20060101 表示2006年1月1日
返回结果为 年年年年月月日日 形式的字符串
2. od(源时间数据日期型,操作符) eg: od(#20060101#,"y=2005")
年:操作符为"y" ,标准格式为#xxxx-xx-xx#,eg:#2006-01-01# 表示2006年1月1日
月:操作符为"m",标准格式为#xxxx-xx-xx#,eg:#2006-01-01# 表示2006年1月1日
日:操作符为"d", 标准格式为#xxxx-xx-xx#,eg:#2006-01-01# 表示2006年1月1日
返回结果为 年年年年-月月-日日 形式的字符串
以上都支持多操作符的运算,用";"隔开即可
3. 注意
对于不支持的操作符,将忽略不计。
如:#2006-01-01#会忽略hy=2;od(#2006-01-01#,"hy=2")返回的将是2006-01-01。
3.具体示例
操作类型 | 输入 | 输出 | 输入 | 输出 |
---|---|---|---|---|
年 | od("2006","y=2005") | 2005 | od(#2006-01-01#,"y=2005") | 2005-01-01 |
| od("200607","y+1") | 200707 | od(#2006-01-01#,"y+1") | 2007-01-01 |
| od("20060701","y-1") | 20050701 | od(#2006-01-01#,"y-1") | 2005-01-01 |
半年 | od("20061","hy=2") | 20062 |
|
|
| od("20061","hy+2") | 20071 |
|
|
| od("20061","hy-1") | 20052 |
|
|
季度 | od("20061","q=2") | 20062 |
|
|
| od("20061","q+5") | 20072 |
|
|
| od("20061","q-3) | 20052 |
|
|
月 | od("200601","m=5") | 200605 | od(#2006-01-01#,"m=5") | 2006-05-01 |
| od("20050131","m+1") | 20050228 | od(#2006-01-01#,"m+1") | 2006-02-01 |
| od("20070331","m-1") | 20070228 | od(#2006-01-01#,"m-1") | 2005-12-01 |
旬 | od("2006011","t=2") | 2006012 |
|
|
| od("2006011","t+3") | 2006021 |
|
|
| od("2006011","t-3") | 2005121 |
|
|
日 | od("20060101","d=2") | 20060102 | od(#2006-01-01#,"d=2") | 2006-01-02 |
| od("20060131","d+1") | 20060201 | od(#2006-01-31#,"d+1") | 2006-02-01 |
| od("20060201","d-1") | 20060131 | od(#2006-01-01#,"d-1") | 2005-12-31 |
| od("20020201","d=lastday") | 20020228 | od(#2006-02-01#,"d=lastday") | 2006-02-28 |
多操作符 | od("20020201","m=1;d=lastday") | 20020131 | od(#2006-01-01#,"m=2;d=lastday") | 2006-02-28 |