`
isiqi
  • 浏览: 16814252 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

10个用一条语句写成的有关日期函数

阅读更多
 10个用一条语句写成的有关日期函数
可以直接赋值给变量,不用写成函数形式的。另函数适用于pb6.5,一个汉字占两个字节,如果用于pb8.0以上请根据实际情况修改

题外话:

我只不过想用最基本的syntax巧妙的完成一些功能,仅是为了玩syntax而写了这些函数,这些syntax可以很容易的被移植到其它的编程语言中,如果
你的编程系统中已经有类似功能的系统函数,建议你使用系统函数,提高效率,呵呵。

我只是空下来无聊的时候,写一些机灵古怪的语法,或者写一些以后自己也看不懂的算法来解闷,呵呵。我一直把编写代码作为乐趣,作为艺术看
待,喜欢把代码写的简洁古怪,让别人也让自己看不懂。:)

 



//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):
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)


//8.另一个求某月天数(日期参数:date ls_date  返回参数:int):
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))


//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)
 
 
分享到:
评论

相关推荐

    PB 12个用一条语句写成的有关日期函数

    以下是一些用一条语句实现的PB日期函数,它们简洁而实用: 1. 生肖函数: 这个函数通过计算年份与1900年的差值模12的结果,来确定对应的生肖,并返回字符串。例如,输入1990年,会返回"马"。 2. 天干地支函数: ...

    PB 12个用一条语句写成的有关日期函数_PB日期函数_

    标题中的“PB 12个用一条语句写成的有关日期函数”指的是在PowerBuilder(PB)编程环境中,利用单个表达式实现的12种不同的日期处理函数。这些函数通常涉及日期的转换、计算以及提取特定日期部分等操作。在PB中,...

    12个用一条语句写成的有关日期函数

    以下是一些用单条语句实现的日期函数,它们可以帮助你更高效地进行日期相关的计算和转换。 1. 生肖函数: 这个函数通过输入年份返回对应的生肖,基于中国的十二生肖循环。它利用了MOD运算符和字符串填充功能来找到...

    PB用一条语句写成的有关日期函数(生肖、天干地支、星座、闰年等).doc

    这些语句展示了PowerBuilder中处理日期和时间的强大能力,只需一条语句即可完成复杂的功能,这在编写高效代码时非常有用。然而,需要注意的是,这些代码可能需要根据不同的PB版本进行微调,因为不同版本可能会对字符...

    解决python 执行sql语句时所传参数含有单引号的问题

    在例子中,作者创建了一个DataFrame `a`,包含了多个列的比较条件,然后通过遍历列和值,构建了一条包含多个条件的AND连接的SQL WHERE子句。这个过程包括以下几个步骤: 1. 遍历DataFrame的列(columns),将每列的...

    [C++课堂课件笔记]函数的运用详解.ppt

    调用完后,返回到刚才调用函数的下一条语句继续执行。 函数可以被一个函数调用,也可以调用另一个函数,它们之间可以存在着调用上的嵌套关系。但是,C++不允许函数的定义嵌套,即在函数定义中再定义一个函数是非法...

    PHP函数索引 967 个函数

    `aspell_new` 函数用于创建一个新的拼写检查对象,这是使用aspell拼写检查库前的必要步骤。 ### 8. base64_decode: BASE64解码 `base64_decode` 函数用于将BASE64编码的字符串解码回原始格式,常用于加密传输后的...

    语言程序设计课后习题答案

    2-16 已知x、y两个变量,写一条简单的if语句,把较小的的值赋给原本值较大的变量。 解: if (x > y) x = y; else // y > x || y == x y = x; 2-17 修改下面这个程序中的错误,改正后它的运行结果是什么? #include ...

    C51单片机C语言函数编辑

    - **函数语句**:函数调用作为一条独立的语句出现,如 `printf("Hello World!");`。 - **函数参数**:一个函数的返回值作为另一个函数的参数,如 `int temp = StrToInt(CharB(16));`。 - **函数表达式**:函数调用...

    python语言程序设计自定义函数.docx

    在这个例子中,`log`装饰器会在`add`函数被调用时打印一条日志,但并不改变`add`函数的原始逻辑。 掌握自定义函数的使用对于Python程序员来说至关重要,因为它们有助于组织代码,提高代码的可读性和可维护性。通过...

    matlab定义函数.pdf

    2. `[output_variables]` 是函数的输出参数,可以是多个,用逗号分隔,如果函数没有输出,可以留空或写成 `[]`。 3. `function_name` 是函数的名称,必须遵循MATLAB的变量命名规则,不能以数字开头。 4. `(input_...

    9. main函数是什么?(1).pdf

    即使main函数中只有一条语句,也需要在最后加上分号。 7. 为了代码的清晰和后续的维护,main函数内部通常会组织成更小的函数或模块,通过函数调用来实现程序的各种功能。 8. main函数的代码通常会包括对其他库的...

    Oracle函数.txt

    根据提供的文件信息,我们可以归纳出一系列关于Oracle数据库中使用的函数及其用法的知识点。下面将对这些函数进行详细的解释,并举例说明它们的应用场景。 ### 一、字符串处理函数 #### 1. TO_CHAR() - **功能**:...

    经典SQL语句大全

    13、说明:一条sql 语句搞定数据库分页 select top 10 b.* from (select top 20 主键字段,排序字段 from 表名 order by 排序字段 desc) a,表名 b where b.主键字段 = a.主键字段 order by a.排序字段 具体实现: ...

    PHP选择题含答案.docx

    8. for 循环是一个控制结构语句,用于重复执行一条语句或一个语句块。循环变量 $i 的值将从 100 递增到 200,每次增加 3。 9. switch…case 是一种选择结构语句,用于根据不同的情况执行不同的语句块。while、do…...

    常用的数据库分页语句

    比如,要从第10条记录开始获取20条记录,可以写成: ```sql SELECT * FROM ( SELECT ROWNUM r, t1.* FROM Sys_option WHERE ROWNUM ) t2 WHERE t2.r >= 10 ``` 需要注意的是,Oracle的`ROWNUM`在查询时会按...

    SQL常用 语句 教程

    例如,使用INNER JOIN可以将两个表基于共同的列进行连接,而GROUP BY语句则允许按列对数据进行分组并应用聚合函数。 在学习SQL的过程中,理解并熟练掌握这些基本语句至关重要。它们构成了SQL的基础,使你能有效地从...

    107条javascript语句

    - **字符串位置查询**:`indexOf()` 方法用于查找一个字符串在另一个字符串中的位置。例如: ```javascript var str = "Hello, world!"; var index = str.indexOf("world"); // 返回 7 ``` #### 三、流程控制...

    JavaScript中常用的一百零七条语句

    ### JavaScript中常用的一百零七条语句 #### 1. 输出语句:`document.write("")` `document.write("")` 是一种将文本直接输出到HTML文档流中的方法。这里的空字符串表示可以替换为任何需要输出的内容。这种方法常...

    C程序设计基础ppt课件(完整版).ppt

    * 语句较长时,一条语句可写在多行上 * 每条语句以分号结束,表示一条语句的结束 * 使用向右缩进方法表达程序中的层次结构 * 可以使用多行注释或单行注释以增强程序的可读性 4. 一个应用程序的开发过程 一个应用...

Global site tag (gtag.js) - Google Analytics