//1.生肖(年份参数:int ls_year  返回参数:string):
mid(fill('鼠牛虎兔龙蛇马羊猴鸡狗猪',48),(mod(ls_year -1900,12)+13)*2 -1,2)

//2.天干地支(年份参数:int ls_year  返回参数:string):
mid(fill('甲乙丙丁戊己庚辛壬癸',40),(mod(ls_year -1924,10)+11)*2 -1,2)+mid(fill('子丑寅卯辰巳午未申酉戌亥',48),(mod(ls_year -1924,12)+13)*2 -1,2)

//3.星座(日期参数:date ls_date  返回参数:string):
mid("摩羯水瓶双鱼白羊金牛双子巨蟹狮子处女天秤天蝎射手摩羯",(month(ls_date)+sign(sign(day(ls_date) -(19+integer(mid('102123444423',month(ls_date),1))))+1))*4 -3,4)+'座'
//4.判断闰年(年份参数:int ls_year  返回参数:int 0=平年,1=闰年):
abs(sign(mod(sign(mod(abs(ls_year),4))+sign(mod(abs(ls_year),100))+sign(mod(abs(ls_year),400)),2)) -1)

//5.某月天数(日期参数:date ls_date  返回参数:int):
integer(28+integer(mid('3'+string(abs(sign(mod(sign(mod(abs(year(ls_date)),4))+sign(mod(abs(year(ls_date)),100))+sign(mod(abs(year(ls_date)),400)),2)) -1))+'3232332323',month(ls_date),1)))

//6.某月最后一天日期(日期参数:date ls_date  返回参数:date):
date(year(ls_date),month(ls_date),integer(28+integer(mid('3'+string(abs(sign(mod(sign(mod(abs(year(ls_date)),4))+sign(mod(abs(year(ls_date)),100))+sign(mod(abs(year(ls_date)),400)),2)) -1))+'3232332323',month(ls_date),1))))

//7.另一个求某月最后一天日期(日期参数:date ls_date  返回参数:date):
a.
RelativeDate (date(year(ls_date)+sign(month(ls_date) -12)+1,mod(month(ls_date)+1,13)+abs(sign(mod(month(ls_date)+1,13)) -1),1),-1)
b.
RelativeDate(date(year(ls_date)+integer(month(ls_date)/12),mod(month(ls_date),12)+1,1),-1)
//8.另一个求某月天数(日期参数:date ls_date  返回参数:int):
a.
day(RelativeDate (date(year(ls_date)+sign(month(ls_date) -12)+1,mod(month(ls_date)+1,13)+abs(sign(mod(month(ls_date)+1,13)) -1),1),-1))
b.
day(RelativeDate(date(year(ls_date)+integer(month(ls_date)/12),mod(month(ls_date),12)+1,1),-1))

//9.某月某日星期几--同PB系统函数DayName(日期参数:date ls_date  返回参数:string):
'星期'+mid('日一二三四五六',(mod(year(ls_date) -1 + int((year(ls_date) -1)/4) - int((year(ls_date) -1)/100) + int((year(ls_date) -1)/400) + daysafter(date(year(ls_date),1,1),ls_date)+1,7)+1)*2 -1,2)

//10.求相隔若干月份后的相对日期(日期参数:date ls_date 相隔月份(可取负数):int ls_add_month 返回参数:date):
date(year(ls_date)+int((month(ls_date)+ls_add_month)/13),long(mid(fill('010203040506070809101112',48),(mod(month(ls_date)+ls_add_month -1,12)+13)*2 -1,2)),day(ls_date) -integer(right(left(string(day(RelativeDate (date(year(ls_date)+int((month(ls_date)+ls_add_month)/13)+sign(long(mid(fill('010203040506070809101112',48),(mod(month(ls_date)+ls_add_month -1,12)+13)*2 -1,2)) -12)+1,mod(long(mid(fill('010203040506070809101112',48),(mod(month(ls_date)+ls_add_month -1,12)+13)*2 -1,2))+1,13)+abs(sign(mod(long(mid(fill('010203040506070809101112',48),(mod(month(ls_date)+ls_add_month -1,12)+13)*2 -1,2))+1,13)) -1),1),-1)) -day(ls_date),'00')+'00000',5),3))/100)

//11.求某日在当年所处的周数(日期参数:date ls_date  返回参数:int):
//a.周始日为星期天
//a1
abs(int(-((daysafter( RelativeDate(date(year(ls_date),1,1), -mod(year(ls_date) -1 + int((year(ls_date) -1)/4) - int((year(ls_date) -1)/100) + int((year(ls_date) -1)/400) + 1,7) +1),ls_date)+1)/7)))
//a2(使用DayNumber函数)
abs(int(-((daysafter( RelativeDate(date(year(ls_date),1,1), -DayNumber(date(year(ls_date),1,1))+1),ls_date)+1)/7)))

//b.周始日为星期一
//b1
abs(int(-((daysafter( RelativeDate(date(year(ls_date),1,1), -integer(mid('6012345',mod(year(ls_date) -1 + int((year(ls_date) -1)/4) - int((year(ls_date) -1)/100) + int((year(ls_date) -1)/400) + 1,7),1))),ls_date)+1)/7)))
//b2(使用DayNumber函数)
abs(int(-((daysafter( RelativeDate(date(year(ls_date),1,1), -integer(mid('6012345',DayNumber(date(year(ls_date),1,1)),1))),ls_date)+1)/7)))
//12.求某日相对于过去某一日期所处的周数(日期参数:date ls_date_1(要求的某日),ls_date_2(过去的某日)  返回参数:int):
//注:ls_date_1>ls_date_2
//a.周始日为星期天
//a1
abs(int(-((daysafter( RelativeDate(ls_date_2, -mod(year(ls_date_2) -1 + int((year(ls_date_2) -1)/4) - int((year(ls_date_2) -1)/100) + int((year(ls_date_2) -1)/400) + daysafter(date(year(ls_date_2),1,1),ls_date_2)+ 1,7) +1),ls_date_1)+1)/7)))
//a2(使用DayNumber函数)
abs(int(-((daysafter( RelativeDate(ls_date_2, -DayNumber(ls_date_2)+1),ls_date_1)+1)/7)))

//b.周始日为星期一
//b1
abs(int(-((daysafter( RelativeDate(ls_date_2, -integer(mid('6012345',mod(year(ls_date_2) -1 + int((year(ls_date_2) -1)/4) - int((year(ls_date_2) -1)/100) + int((year(ls_date_2) -1)/400) + daysafter(date(year(ls_date_2),1,1),ls_date_2)+ 1,7) ,1))),ls_date_1)+1)/7)))
//b2(使用DayNumber函数)
abs(int(-((daysafter( RelativeDate(ls_date_2, -integer(mid('6012345',DayNumber(ls_date_2),1))),ls_date_1)+1)/7)))

某月最后一天日期
RelativeDate(date(year(ld_1)+integer(month(ld_1)/12),mod(month(ld_1),12)+1,1),-1)
取得最后一天
day(上面语句)
闰年(1为闰年, 0为平年)
integer(day(RelativeDate(date(year(ld_1), 3, 1), -1))/29)
当前日期所在星期数
integer(daysafter(date(year(ad_date), 1, 1), ad_date)/7) + 1 + integer((daynumber(date(year(ad_date), 1, 1)) + mod(daysafter(date(year(ad_date), 1, 1), ad_date), 7) -1)/7)

【PB】有关日期函数相关推荐

  1. Sqlite3支持的数据类型 日期函数 Sqlite3 函数

    Sqlite3支持的数据类型 NULL INTEGER REAL TEXT BLOB 但实际上,sqlite3也接受如下的数据类型: smallint 16 位元的整数. interger 32 位元 ...

  2. getdate函数_SQL日期函数和GETDATE解释为带有语法示例

    getdate函数 There are 61 Date Functions defined in MySQL. Don't worry, we won't review them all here. ...

  3. php中年月日用什么参数,PHP中date()日期函数参数整理

    PHP中date()日期函数参数整理 发布于 2014-11-19 13:34:06 | 105 次阅读 | 评论: 0 | 来源: 网友投递 PHP开源脚本语言PHP(外文名: Hypertext ...

  4. mysql 日期时间格式化字符串_MySQL日期函数与日期转换格式化函数大全

    Mysql作为一款开元的免费关系型数据库,用户基础非常庞大,本文列出了MYSQL常用日期函数与日期转换格式化函数 1.DAYOFWEEK(date) SELECT DAYOFWEEK('2016-01 ...

  5. R语言日期函数weekdays, months, quarters julian实战(星期几、那个月、那个季度、时间差)

    R语言日期函数weekdays, months, quarters & julian实战(星期几.那个月.那个季度.时间差) 目录

  6. excel中最常用的30个函数_最常用日期函数汇总excel函数大全收藏篇

    在我们的实际工作中,经常需要用到日期函数.日期函数那么多,你还只会用函数TODAY吗?那你就OUT了.今天一起来看下常用日期函数的用法! 1.DATE 函数DATE:返回在日期时间代码中代表日期的数字 ...

  7. 传入一个日期 返回该月的第一天是星期几_Excel VBA 编程开发应用系列 (二十一)— Excel常用的日期函数...

    Excel为我们提供了大约有20个日期和时间的处理函数,这些函数对于处理表格中的日期数据都是非常有用的.下面介绍几个常用的Excel日期函数及其实际应用案例. 获取当前日期和时间的函数:today() ...

  8. Sqlite3支持的数据类型 日期函数以及相关 函数

    Sqlite3支持的数据类型 NULL INTEGER REAL TEXT BLOB 但实际上,sqlite3也接受如下的数据类型: smallint 16 位元的整数. interger 32 位元 ...

  9. oracler日期函数相差六个月_Oracle数据库之SQL单行函数---日期函数集锦

    前言 Oracle数据库的日期函数是十分强大的,而且也比较的多.笔者将之整理下来供日后的参考 使用.于自己便利,也于别人便利! 常用日期型函数 1.Sysdate: 当前的日期和时间select Sy ...

  10. oracle显示当天日期函数,oracle日期函数

    oracle日期函数 1.日期时间间隔操作  当前时间减去7分钟的时间 select sysdate,sysdate - interval '7' MINUTE from dual 当 ...

最新文章

  1. java和python哪个好就业2020-Python和java哪个就业前景好些?
  2. 一步步的教新手如何在一台物理机上部署红帽和win7双系统 ...
  3. Qt 中 QXml/QDom*** api设计吐槽
  4. Visual Stdio2013 编译错误【error C4996:'scanf':This function or variable may be unsafe.】最简单的解决方法
  5. 数据化管理第一步,你真的会做报表吗?
  6. ambari安装的各组件的目录
  7. 51nod 1423 最大二“货” 单调栈
  8. POJ- 1751 Highways
  9. JSLIU 的 wxWindows 入门
  10. IB心理学生物分析模块
  11. 【并发编程】Once 基本用法和如何实现以及常见错误
  12. 如何打造团队的代码风格统一以及开发效率的提升
  13. 在移动端,单击穿透是什么?
  14. 使用富盛Sbo-Addon程序开发框架轻松开发模态单据选择查询功能实例
  15. html写樱花树,写樱花树的作文
  16. syswow64删除文件_syswow64,小编告诉你syswow64是什么文件夹
  17. 谐波减速器的结构简图及传动比说明
  18. C/C++描述 - 矩阵乘积的计算
  19. 《JAVA程序性能优化》总结
  20. Oracle——2.查询基本语法

热门文章

  1. [转]想要个英文名? [男生篇]
  2. jQuery和原生js全选,全不选组件
  3. java默认字体_我们可以更改 iText 默认字体(Helvetica)吗?
  4. Pixhawk固件PX4之串口通讯
  5. 短信验证——上行和下行
  6. navicat mysql唯一约束_navicat表约束怎么弄
  7. 23种设计模式之四(装饰者模式)
  8. 每日一练--MYSQL
  9. 自定义控件学习之绘制刻度盘
  10. 第二篇 -- 关东野客书籍