package *.*.utils;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class WsDateUtil {
static SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
/**
* 获取指定时间戳所在月份开始的时间戳/秒
* @param dateTimeMillis 指定时间戳/毫秒
* @return
*/
public static Long getMonthBegin(Long dateTimeMillis) {
Calendar c = Calendar.getInstance();
c.setTime(new Date(dateTimeMillis));
//设置为1号,当前日期既为本月第一天
c.set(Calendar.DAY_OF_MONTH, 1);
//将小时至0
c.set(Calendar.HOUR_OF_DAY, 0);
//将分钟至0
c.set(Calendar.MINUTE, 0);
//将秒至0
c.set(Calendar.SECOND,0);
//将毫秒至0
c.set(Calendar.MILLISECOND, 0);
// 获取本月第一天的时间戳
return c.getTimeInMillis() / 1000;
}
/**
* 获取指定时间戳所在月份15号的时间戳/秒
* @param dateTimeMillis 指定时间戳/毫秒
* @return
*/
public static Long getMonthMiddle(Long dateTimeMillis) {
Calendar c = Calendar.getInstance();
c.setTime(new Date(dateTimeMillis));
//设置为当月最后一天
c.set(Calendar.DAY_OF_MONTH, 15);
//将小时至23
c.set(Calendar.HOUR_OF_DAY, 23);
//将分钟至59
c.set(Calendar.MINUTE, 59);
//将秒至59
c.set(Calendar.SECOND,59);
//将毫秒至999
c.set(Calendar.MILLISECOND, 999);
// 获取本月最后一天的时间戳
return c.getTimeInMillis() / 1000;
}
/**
* 获取指定时间戳所在月份结束的时间戳/秒
* @param dateTimeMillis 指定时间戳/毫秒
* @return
*/
public static Long getMonthEnd(Long dateTimeMillis) {
Calendar c = Calendar.getInstance();
c.setTime(new Date(dateTimeMillis));
//设置为当月最后一天
c.set(Calendar.DAY_OF_MONTH, c.getActualMaximum(Calendar.DAY_OF_MONTH));
//将小时至23
c.set(Calendar.HOUR_OF_DAY, 23);
//将分钟至59
c.set(Calendar.MINUTE, 59);
//将秒至59
c.set(Calendar.SECOND,59);
//将毫秒至999
c.set(Calendar.MILLISECOND, 999);
// 获取本月最后一天的时间戳
return c.getTimeInMillis() / 1000;
}
/**
* 获取上一个月1号0点0分0秒的时间戳
* @param dateTimeMillis
* @return
*/
public static Long getPreviousMonthBegin(Long dateTimeMillis){
Date date = new Date(dateTimeMillis);
date.setDate(1);
date.setHours(0);
date.setMinutes(0);
date.setSeconds(0);
if(date.getMonth() - 1 <= 0){
date.setYear(date.getYear() - 1);
date.setMonth(12);
}else {
date.setMonth(date.getMonth() - 1);
}
return date.getTime() / 1000;
}
/**
* 获取当前日期
* @return
*/
public static String getCurrentDate() {
Date date = new Date();
return sdf.format(date);
}
}
最后给各位看官来波福利!
阿里云服务器代金券和折扣免费领:https://promotion.aliyun.com/ntms/yunparter/invite.html?userCode=ypbt9nme
性能级主机2-5折:https://promotion.aliyun.com/ntms/act/enterprise-discount.html?userCode=ypbt9nme
新用户云通讯专享8折:https://www.aliyun.com/acts/alicomcloud/new-discount?userCode=ypbt9nme
新老用户云主机低4折专项地址:https://promotion.aliyun.com/ntms/act/qwbk.html?userCode=ypbt9nme
680元即可注册商标专项地址:https://tm.aliyun.com/?userCode=ypbt9nme
文章浏览阅读1.7k次。数据分析与挖掘中常用Python库的介绍与实践案例一、Python介绍 现在python一词对我们来说并不陌生,尤其是在学术圈,它的影响力远超其它任何一种编程语言, 作为一门简单易学且功能强大的编程语言,它拥有丰富的第三方库,在许多方面都有着广泛的应用,如..._python数据分析与数据挖掘案例
文章浏览阅读1.2k次。SIP是一个分层协议,每层之间松耦合。SIP元素都是逻辑元素,而非物理元素。物理实现可以作为不同逻辑元素,甚至是基于事务的。第一层:即SIP的最低层是语法和编码。其编码指定使用巴科斯范式(BNF)。第二层:传输层。它定义在网络上客户端如何发送请求和接收响应,服务器如何接收请求和发送响应。所有的SIP元素都包含传输层。第三层:事务层。事务层处理应用层转播、响应与请求的匹配、应用层超时。用..._sip协议结构
文章浏览阅读1.2w次。 1.创建web.xmlcontextConfigLocation /WEB-INF/context/application-context.xml _spring-webmvc-portlet作用
文章浏览阅读449次。项目运行环境配置:Pychram社区版+ python3.7.7 + Mysql5.7 + HBuilderX+list pip+Navicat11+Django+nodejs。项目技术:django + python+ Vue 等等组成,B/S模式 +pychram管理等等。环境需要1.运行环境:最好是python3.7.7,我们在这个版本上开发的。其他版本理论上也可以。2.pycharm环境:pycharm都可以。推荐pycharm社区版;_重庆工商大学计算python及答案
文章浏览阅读370次。在近日结束的华为开发者大会2020上,墨迹天气凭借精细化专业气象服务能力赋能华为全场景应用生态的优势,荣获华为应用市场2020鸿蒙系统应用创新合作伙伴殊荣。在此次开发者大会上,华为正式发布的鸿蒙HarmonyOS 2.0系统,是全球首个且由华为自主研发的真正为全场景时代打造的分布式操作系统,具有划时代的意义。基于华为鸿蒙2.0,人、设备、场景不再是孤立的存在,而是有机地联系在一起,达到以人为中心,..._鸿蒙怎么改天气图标
文章浏览阅读766次。-(void)screenShotRect:(CGRect)aRect //arect 想要截图的区域{ UIGraphicsBeginImageContextWithOptions(CGSizeMake(640, 960), YES, 0); [self.view.layer renderInContext:UIGraphicsGetCurrentContext()]; _ios 将屏幕指定区域绘制成照片
文章浏览阅读717次。1.1 NBU Client For Linux安装1、 客户端添加NBU SERVER HOSTS解析[root@client]# cat /etc/hosts# Do not remove the following line, or various programs# that require network functionality will fail.127..._nbu client
文章浏览阅读432次。题目:输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。解题思路:二叉树的中序遍历,左、根、右;因为二叉搜索树的中序遍历就是递增排列的,所以只要在中序遍历时将每个结点放入vector中,再分别为每个结点的左右指针赋值即可。 采用中序遍历: 修改中序遍历,在其中加入一个前驱结点 遍历左子树 当前结点指向左指针指向前驱结点 前驱结_剑指offer36二叉树与双向链表
文章浏览阅读1.7k次。本文演示了如何使用百度公司的PaddlePaddle实现基于深度学习模型VGG的图像识别。准备工作VGG简介牛津大学VGG(Visual Geometry Group)组在2014年ILSVRC提出的模型被称作VGG模型 。该模型相比以往模型进一步加宽和加深了网络结构,它的核心是五组卷积操作,每两组之间做Max-Pooling空间降维。同一组内采用多次连续的3X3卷积,卷积核的数目由较浅组的64增..._paddlepaddle鲜花预测vgg
文章浏览阅读3.2w次,点赞73次,收藏449次。修改:gradle-wrapper.properties文件,如果想要指定版本的gradle,修改distributionUrl中的版本,只改后面的版本就行,防止自动下载慢,可以把提前下载的好的zip包,放到(C:\Users\Administrator.gradle\wrapper\dists\gradle-7.x.x-bin\6a41zxkdtcxs8rphpq6y0069z目录下,注意不要解压)。涉及范围主要集中在 信息收集、Android黑客工具、自动化工具、网络钓鱼等,感兴趣的同学不容错过。_android studio下载
文章浏览阅读5.7k次。以下转载自 https://blog.csdn.net/dcrmg/article/details/52506538霍夫圆变换的基本思路是认为图像上每一个非零像素点都有可能是一个潜在的圆上的一点,跟霍夫线变换一样,也是通过投票,生成累积坐标平面,设置一个累积权重来定位圆。在笛卡尔坐标系中圆的方程为:其中(a,b)是圆心,r是半径,也可以表述为:即所以在abr组成的三维坐标系中,一个..._霍夫圆检测原理
文章浏览阅读2.8k次。问题:最近在虚拟机的Linux上安装QT,编译一个在其它地方没有问题的程序的时候出现了main.error的问题,捣鼓了好久,现在终于是能够用了,现将解决过程记录如下,如果有遇到相同问题的朋友不妨可以试试看解决方法:在网上查了一些资料,说的都可能是GCC的问题我的系统上的GCC有两个版本,系统自带的4.4.2是装在目录/usr/bin下,而我新装的支持C++11的版_qtbase/src/tools/syncqt/main.cpp:25:10: fatal erro