GeneXus笔记本—获取当月的最后一天
首先获取当前日期 然后赋值为当前年月的第一天 然后加一个月 减去一天 就是当月最后一天 多用于筛选数据时的条件或者区间
我们先随便拉个页面 简单点就好
放入两个textblock 然后点击Event(这是书写代码的地方) 在初始事件中写如下代码
Event Start
//先用变量保存时间参数
&Date = ServerDate() //获取的是当前的年月日
&DateTime = ServerNow() //获取的是当时的年月日 时分秒 //赋值 当前日期
Textblock2.Caption = "当前日期:"+&DateTime.ToString() //赋值 当前月份最后一天
&Date.Set(&Date.Year(),&Date.Month(),)
&Date = &Date.AddMonths()
&Date = &Date.AddDays(-)
Textblock3.Caption = "当前月份的最后一天:"+&Date.ToString().Trim() Endevent
这里GeneXus对于时间的获取是有函数的 所以直接变量接收就好了 然后就是别忘了 右键这个变量并添加到Variables(这是管理页面上所有变量的地方) 还有就是 对于时间格式的显示变量请保持习惯将该变量的属性设置为长格式 如下
应为如果不设置的话 时间就会变成段格式的 变成19/5/20 这种 当然如果你只是当作中间变量传值 则不需要考虑 显示在页面上的话 就需要多多注意
然后 按照代码所示 先取值赋值 加一个月减一个天 即可 如图
这里请大家注意 我之前遇到的一个小问题 当时我在写这段代码的时候 发现逻辑是通的 但是获取到的日期一直都是4月的最后一个月 然后检查代码同时通过日志调试之后发现原因如下
//将当前日期的值手动赋予新值
&Date.Set(&Date.Year(),&Date.Month(),)
Log.Info(&Date.ToString)
//这里我因为疏忽将本该写成&Date = &Date.AddMonths(1) 写成了&Date.AddMonths(1) 我当时认为此方式是可以和上方的代码一样可以直接改变这个&Date值的
&Date.AddMonths()
Log.Info(&Date.ToString)
//奇怪的是这里我没漏 2333
&Date = &Date.AddDays(-)
Log.Info(&Date.ToString)
结果日志调试结果如下
后买发现加一个月那行代码问题后我又尝试将减一天的那句代码也写成&Date.AddDays(-1) 结果却发现IDE提示了错误消息
蛤?为啥 我忘记写加月份的那个赋值操作没提醒 这个减天数的又提醒了 虽然暂时不知道原因 但是先放在这里 供大家参考和注意 之后晓得了情况会记下的(如果我还记得的话)
哦 对了 顺便说一下 关于GeneXus的很常用的一个找错误方式 那就是日志
我们只需要如下图打开对应的属性 然后找到该项目下的文件即可找到你当前的操作数据日志
然后点开项目路径 进到Web文件夹
搜索就Client.log即可
5月30日补充
不好意思 突然发现一个函数 可以直接获取当前日期的最后一天
&Date.EndOfMonth().ToString()
大家可以试试
GeneXus笔记本—获取当月的最后一天的更多相关文章
- php获取当月天数及当月第一天及最后一天、上月第一天及最后一天实现方法
1.获取上个月第一天及最后一天. echo date('Y-m-01', strtotime('-1 month')); echo "<br/>"; ...
- php -- 获取当月天数及当月第一天及最后一天、上月第一天及最后一天(备忘)
Learn From :http://www.jxbh.cn/newshow.asp?id=1635&tag=2 //1.获取上个月第一天及最后一天. date('Y-m-01', strto ...
- php 日期 - 获取当月最后一天
/** * 日期-获取当月最后一天 * @return int */ public function get_lastday() { if($this->month==2) { $lastday ...
- php获取当月天数及当月第一天及最后一天
1.获取上个月第一天及最后一天. echo date('Y-m-01', strtotime('-1 month')); echo "<br/>"; ech ...
- Mysql 获取当月和上个月第一天和最后一天的解决方案
#获取当前日期select curdate(); #获取当月最后一天select last_day(curdate()): #获取本月的第一天select date_add(curdate(),int ...
- java获取当月的第一天和最后一天,获取本周的第一天和最后一天
/** * 获取指定日期所在周的第一天和最后一天,用下划线连接 * @param dataStr * @return * @throws ParseException */ public static ...
- Mysql 获取当月和上个月第一天和最后一天的SQL
Mysql 获取当月和上个月第一天和最后一天的SQL #获取当前日期select curdate(); #获取当月最后一天select last_day(curdate()); #获取本月的第一天se ...
- java 获取当月第一天和最后一天 获取前一个月第一天和最后一天
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); //获取前月的第一 ...
- js日期处理函数 -- 判断闰年,获取当月的总天数、添加月份
1. 判断是否是闰年 function isLeapYear(eDate) { var year = eDate.getFullYear(); return (((0 == year % 4) &am ...
随机推荐
- TCP协议之三次握手四次挥手
一.TCP协议简述 TCP协议位于传输层用来建立传输数据的通道以及传输数据,那么在这一层的tcp协议就涉及到客户端与服务端通信的连接,数据的传输.关闭连接. 通信的连接使用的就是客户端与服务端的三次握 ...
- [BZOJ3625][Codeforces Round #250]小朋友和二叉树 多项式开根+求逆
https://www.lydsy.com/JudgeOnline/problem.php?id=3625 愉快地列式子.设\(F[i]\)表示权值为\(i\) 的子树的方案数,\(A[i]\)为\( ...
- SQL必知必会学习笔记
2.5 select SELECT 要返回的列或表达式 是FROM 从中检索数据的表 仅在从表选择数据时使用WHERE 行级过滤 ...
- hdu 2665 Kth number (poj 2104 K-th Number) 划分树
划分树的基本功能是,对一个给定的数组,求区间[l,r]内的第k大(小)数. 划分树的基本思想是分治,每次查询复杂度为O(log(n)),n是数组规模. 具体原理见http://baike.baidu. ...
- vector内存增长方式
首先必须要了解vector是一种特殊的数组,因此其内存必然是连续的 其次它的连续是建立在不断地对内存的预分配上的,即不断地销毁当前,重新建立内存,效率有点低.所以存在几个函数capacity, siz ...
- Vue-Router原理
Hash 与 History 路由原理 实现路由 /** * 1.前端路由与后端路由的区别 后端路由: 输入url => 请求发送到服务器 => 服务器解析请求路径 => 拿到对应页 ...
- Ubuntu里wine使用fcitx输入法
将启动变为脚本,添加 export XMODIFIERS="@im=fcitx"export GTK_IM_MODULE="fcitx"export QT_IM ...
- 【原】webpack--loaders,主要解释为什么需要loaders和注意事项
Why需要loaders? webpack开箱即用只支持JS和JSON两种文件类型,但是比如css.less,还有目前市场上比较新的语法糖jsx,怎么处理呢? 通过Loaders去支持其他文件类型并且 ...
- 三线SWD模式Jlink
三线SWD模式Jlink 在公司实习,部门经理让我做一个USB-CAN的适配器. 在网上找资料,找到一个开源的USB-CAN的适配器的资料. 采用的是CP2102芯片实现USB转串口.STM32作 ...
- 公司-IT-SanSan:SanSan
ylbtech-公司-IT-SanSan:SanSan 毫不费力的组织.无缝简单.基于名片的联系人管理 SanSan是一个名片管理应用,为企业提供内部联系人管理和分享服务,此外该公司也是日本最大的.基 ...