- 浏览: 321339 次
- 性别:
- 来自: 济南
文章分类
- 全部博客 (221)
- J2SE心得 (4)
- 经典帖子 (8)
- 亲身经历 (9)
- SSH框架 (12)
- 数据库 (10)
- java基础知识 (41)
- java解惑 (17)
- 软件测试 (0)
- JSP (6)
- JavaScript (8)
- jQuery学习 (12)
- 硬件知识 (1)
- 工具类 (14)
- 面试专题 (4)
- Struts2专题(学习) (14)
- Spring源码分析专题(学习) (15)
- JavaScript专题(学习) (8)
- ExtJs专题(学习) (6)
- Java Web快速入门——全十讲 (10)
- web前台 (1)
- J2ME手机方面 (1)
- 积累整理 (1)
- MyEclipse工具篇 (10)
- oracle (1)
- Android基础 (1)
最新评论
-
youjianbo_han_87:
上传成功后,无法跳转到success页面,会报2038和404 ...
Struts2使用FlashFileUpload.swf实现批量文件上传 -
showzh:
...
MyEclipse 怎么安装SVN插件 -
wpf523:
赞一个啊,楼主加油
一些比较复杂的运算符(二) -
独步天下:
request.getSession().getAttribute() 和request.getSession().setAttribute() -
HelloJava1234:
thank you
怎么改变MyEclipse默认的jsp打开方式
hellowuyao 写道
本人之前做的项目中积累常用的时间方法,贴出来与大家共享,如果哪里有错误或更有效的方法请尽管拍砖!哈哈
package com.hefeng.test; import java.text.DateFormat; import java.text.ParsePosition; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; public class TimeTest { //用来全局控制 上一周,本周,下一周的周数变化 private int weeks = 0; private int MaxDate;//一月最大天数 private int MaxYear;//一年最大天数 /** * @param args */ public static void main(String[] args) { TimeTest tt = new TimeTest(); System.out.println("获取当天日期:"+tt.getNowTime("yyyy-MM-dd")); System.out.println("获取本周一日期:"+tt.getMondayOFWeek()); System.out.println("获取本周日的日期~:"+tt.getCurrentWeekday()); System.out.println("获取上周一日期:"+tt.getPreviousWeekday()); System.out.println("获取上周日日期:"+tt.getPreviousWeekSunday()); System.out.println("获取下周一日期:"+tt.getNextMonday()); System.out.println("获取下周日日期:"+tt.getNextSunday()); System.out.println("获得相应周的周六的日期:"+tt.getNowTime("yyyy-MM-dd")); System.out.println("获取本月第一天日期:"+tt.getFirstDayOfMonth()); System.out.println("获取本月最后一天日期:"+tt.getDefaultDay()); System.out.println("获取上月第一天日期:"+tt.getPreviousMonthFirst()); System.out.println("获取上月最后一天的日期:"+tt.getPreviousMonthEnd()); System.out.println("获取下月第一天日期:"+tt.getNextMonthFirst()); System.out.println("获取下月最后一天日期:"+tt.getNextMonthEnd()); System.out.println("获取本年的第一天日期:"+tt.getCurrentYearFirst()); System.out.println("获取本年最后一天日期:"+tt.getCurrentYearEnd()); System.out.println("获取去年的第一天日期:"+tt.getPreviousYearFirst()); System.out.println("获取去年的最后一天日期:"+tt.getPreviousYearEnd()); System.out.println("获取明年第一天日期:"+tt.getNextYearFirst()); System.out.println("获取明年最后一天日期:"+tt.getNextYearEnd()); System.out.println("获取本季度第一天到最后一天:"+tt.getThisSeasonTime(11)); System.out.println("获取两个日期之间间隔天数2008-12-1~2008-9.29:"+TimeTest.getTwoDay("2008-12-1","2008-9-29")); } /** * 得到二个日期间的间隔天数 */ public static String getTwoDay(String sj1, String sj2) { SimpleDateFormat myFormatter = new SimpleDateFormat("yyyy-MM-dd"); long day = 0; try { java.util.Date date = myFormatter.parse(sj1); java.util.Date mydate = myFormatter.parse(sj2); day = (date.getTime() - mydate.getTime()) / (24 * 60 * 60 * 1000); } catch (Exception e) { return ""; } return day + ""; } /** * 根据一个日期,返回是星期几的字符串 * * @param sdate * @return */ public static String getWeek(String sdate) { // 再转换为时间 Date date = TimeTest.strToDate(sdate); Calendar c = Calendar.getInstance(); c.setTime(date); // int hour=c.get(Calendar.DAY_OF_WEEK); // hour中存的就是星期几了,其范围 1~7 // 1=星期日 7=星期六,其他类推 return new SimpleDateFormat("EEEE").format(c.getTime()); } /** * 将短时间格式字符串转换为时间 yyyy-MM-dd * * @param strDate * @return */ public static Date strToDate(String strDate) { SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); ParsePosition pos = new ParsePosition(0); Date strtodate = formatter.parse(strDate, pos); return strtodate; } /** * 两个时间之间的天数 * * @param date1 * @param date2 * @return */ public static long getDays(String date1, String date2) { if (date1 == null || date1.equals("")) return 0; if (date2 == null || date2.equals("")) return 0; // 转换为标准时间 SimpleDateFormat myFormatter = new SimpleDateFormat("yyyy-MM-dd"); java.util.Date date = null; java.util.Date mydate = null; try { date = myFormatter.parse(date1); mydate = myFormatter.parse(date2); } catch (Exception e) { } long day = (date.getTime() - mydate.getTime()) / (24 * 60 * 60 * 1000); return day; } // 计算当月最后一天,返回字符串 public String getDefaultDay(){ String str = ""; SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd"); Calendar lastDate = Calendar.getInstance(); lastDate.set(Calendar.DATE,1);//设为当前月的1号 lastDate.add(Calendar.MONTH,1);//加一个月,变为下月的1号 lastDate.add(Calendar.DATE,-1);//减去一天,变为当月最后一天 str=sdf.format(lastDate.getTime()); return str; } // 上月第一天 public String getPreviousMonthFirst(){ String str = ""; SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd"); Calendar lastDate = Calendar.getInstance(); lastDate.set(Calendar.DATE,1);//设为当前月的1号 lastDate.add(Calendar.MONTH,-1);//减一个月,变为下月的1号 //lastDate.add(Calendar.DATE,-1);//减去一天,变为当月最后一天 str=sdf.format(lastDate.getTime()); return str; } //获取当月第一天 public String getFirstDayOfMonth(){ String str = ""; SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd"); Calendar lastDate = Calendar.getInstance(); lastDate.set(Calendar.DATE,1);//设为当前月的1号 str=sdf.format(lastDate.getTime()); return str; } // 获得本周星期日的日期 public String getCurrentWeekday() { weeks = 0; int mondayPlus = this.getMondayPlus(); GregorianCalendar currentDate = new GregorianCalendar(); currentDate.add(GregorianCalendar.DATE, mondayPlus+6); Date monday = currentDate.getTime(); DateFormat df = DateFormat.getDateInstance(); String preMonday = df.format(monday); return preMonday; } //获取当天时间 public String getNowTime(String dateformat){ Date now = new Date(); SimpleDateFormat dateFormat = new SimpleDateFormat(dateformat);//可以方便地修改日期格式 String hehe = dateFormat.format(now); return hehe; } // 获得当前日期与本周日相差的天数 private int getMondayPlus() { Calendar cd = Calendar.getInstance(); // 获得今天是一周的第几天,星期日是第一天,星期二是第二天...... int dayOfWeek = cd.get(Calendar.DAY_OF_WEEK)-1; //因为按中国礼拜一作为第一天所以这里减1 if (dayOfWeek == 1) { return 0; } else { return 1 - dayOfWeek; } } //获得本周一的日期 public String getMondayOFWeek(){ weeks = 0; int mondayPlus = this.getMondayPlus(); GregorianCalendar currentDate = new GregorianCalendar(); currentDate.add(GregorianCalendar.DATE, mondayPlus); Date monday = currentDate.getTime(); DateFormat df = DateFormat.getDateInstance(); String preMonday = df.format(monday); return preMonday; } //获得相应周的周六的日期 public String getSaturday() { int mondayPlus = this.getMondayPlus(); GregorianCalendar currentDate = new GregorianCalendar(); currentDate.add(GregorianCalendar.DATE, mondayPlus + 7 * weeks + 6); Date monday = currentDate.getTime(); DateFormat df = DateFormat.getDateInstance(); String preMonday = df.format(monday); return preMonday; } // 获得上周星期日的日期 public String getPreviousWeekSunday() { weeks=0; weeks--; int mondayPlus = this.getMondayPlus(); GregorianCalendar currentDate = new GregorianCalendar(); currentDate.add(GregorianCalendar.DATE, mondayPlus+weeks); Date monday = currentDate.getTime(); DateFormat df = DateFormat.getDateInstance(); String preMonday = df.format(monday); return preMonday; } // 获得上周星期一的日期 public String getPreviousWeekday() { weeks--; int mondayPlus = this.getMondayPlus(); GregorianCalendar currentDate = new GregorianCalendar(); currentDate.add(GregorianCalendar.DATE, mondayPlus + 7 * weeks); Date monday = currentDate.getTime(); DateFormat df = DateFormat.getDateInstance(); String preMonday = df.format(monday); return preMonday; } // 获得下周星期一的日期 public String getNextMonday() { weeks++; int mondayPlus = this.getMondayPlus(); GregorianCalendar currentDate = new GregorianCalendar(); currentDate.add(GregorianCalendar.DATE, mondayPlus + 7); Date monday = currentDate.getTime(); DateFormat df = DateFormat.getDateInstance(); String preMonday = df.format(monday); return preMonday; } // 获得下周星期日的日期 public String getNextSunday() { int mondayPlus = this.getMondayPlus(); GregorianCalendar currentDate = new GregorianCalendar(); currentDate.add(GregorianCalendar.DATE, mondayPlus + 7+6); Date monday = currentDate.getTime(); DateFormat df = DateFormat.getDateInstance(); String preMonday = df.format(monday); return preMonday; } private int getMonthPlus(){ Calendar cd = Calendar.getInstance(); int monthOfNumber = cd.get(Calendar.DAY_OF_MONTH); cd.set(Calendar.DATE, 1);//把日期设置为当月第一天 cd.roll(Calendar.DATE, -1);//日期回滚一天,也就是最后一天 MaxDate=cd.get(Calendar.DATE); if(monthOfNumber == 1){ return -MaxDate; }else{ return 1-monthOfNumber; } } //获得上月最后一天的日期 public String getPreviousMonthEnd(){ String str = ""; SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd"); Calendar lastDate = Calendar.getInstance(); lastDate.add(Calendar.MONTH,-1);//减一个月 lastDate.set(Calendar.DATE, 1);//把日期设置为当月第一天 lastDate.roll(Calendar.DATE, -1);//日期回滚一天,也就是本月最后一天 str=sdf.format(lastDate.getTime()); return str; } //获得下个月第一天的日期 public String getNextMonthFirst(){ String str = ""; SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd"); Calendar lastDate = Calendar.getInstance(); lastDate.add(Calendar.MONTH,1);//减一个月 lastDate.set(Calendar.DATE, 1);//把日期设置为当月第一天 str=sdf.format(lastDate.getTime()); return str; } //获得下个月最后一天的日期 public String getNextMonthEnd(){ String str = ""; SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd"); Calendar lastDate = Calendar.getInstance(); lastDate.add(Calendar.MONTH,1);//加一个月 lastDate.set(Calendar.DATE, 1);//把日期设置为当月第一天 lastDate.roll(Calendar.DATE, -1);//日期回滚一天,也就是本月最后一天 str=sdf.format(lastDate.getTime()); return str; } //获得明年最后一天的日期 public String getNextYearEnd(){ String str = ""; SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd"); Calendar lastDate = Calendar.getInstance(); lastDate.add(Calendar.YEAR,1);//加一个年 lastDate.set(Calendar.DAY_OF_YEAR, 1); lastDate.roll(Calendar.DAY_OF_YEAR, -1); str=sdf.format(lastDate.getTime()); return str; } //获得明年第一天的日期 public String getNextYearFirst(){ String str = ""; SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd"); Calendar lastDate = Calendar.getInstance(); lastDate.add(Calendar.YEAR,1);//加一个年 lastDate.set(Calendar.DAY_OF_YEAR, 1); str=sdf.format(lastDate.getTime()); return str; } //获得本年有多少天 private int getMaxYear(){ Calendar cd = Calendar.getInstance(); cd.set(Calendar.DAY_OF_YEAR,1);//把日期设为当年第一天 cd.roll(Calendar.DAY_OF_YEAR,-1);//把日期回滚一天。 int MaxYear = cd.get(Calendar.DAY_OF_YEAR); return MaxYear; } private int getYearPlus(){ Calendar cd = Calendar.getInstance(); int yearOfNumber = cd.get(Calendar.DAY_OF_YEAR);//获得当天是一年中的第几天 cd.set(Calendar.DAY_OF_YEAR,1);//把日期设为当年第一天 cd.roll(Calendar.DAY_OF_YEAR,-1);//把日期回滚一天。 int MaxYear = cd.get(Calendar.DAY_OF_YEAR); if(yearOfNumber == 1){ return -MaxYear; }else{ return 1-yearOfNumber; } } //获得本年第一天的日期 public String getCurrentYearFirst(){ int yearPlus = this.getYearPlus(); GregorianCalendar currentDate = new GregorianCalendar(); currentDate.add(GregorianCalendar.DATE,yearPlus); Date yearDay = currentDate.getTime(); DateFormat df = DateFormat.getDateInstance(); String preYearDay = df.format(yearDay); return preYearDay; } //获得本年最后一天的日期 * public String getCurrentYearEnd(){ Date date = new Date(); SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy");//可以方便地修改日期格式 String years = dateFormat.format(date); return years+"-12-31"; } //获得上年第一天的日期 * public String getPreviousYearFirst(){ Date date = new Date(); SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy");//可以方便地修改日期格式 String years = dateFormat.format(date); int years_value = Integer.parseInt(years); years_value--; return years_value+"-1-1"; } //获得上年最后一天的日期 public String getPreviousYearEnd(){ weeks--; int yearPlus = this.getYearPlus(); GregorianCalendar currentDate = new GregorianCalendar(); currentDate.add(GregorianCalendar.DATE,yearPlus+MaxYear*weeks+(MaxYear-1)); Date yearDay = currentDate.getTime(); DateFormat df = DateFormat.getDateInstance(); String preYearDay = df.format(yearDay); getThisSeasonTime(11); return preYearDay; } //获得本季度 public String getThisSeasonTime(int month){ int array[][] = {{1,2,3},{4,5,6},{7,8,9},{10,11,12}}; int season = 1; if(month>=1&&month<=3){ season = 1; } if(month>=4&&month<=6){ season = 2; } if(month>=7&&month<=9){ season = 3; } if(month>=10&&month<=12){ season = 4; } int start_month = array[season-1][0]; int end_month = array[season-1][2]; Date date = new Date(); SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy");//可以方便地修改日期格式 String years = dateFormat.format(date); int years_value = Integer.parseInt(years); int start_days =1;//years+"-"+String.valueOf(start_month)+"-1";//getLastDayOfMonth(years_value,start_month); int end_days = getLastDayOfMonth(years_value,end_month); String seasonDate = years_value+"-"+start_month+"-"+start_days+";"+years_value+"-"+end_month+"-"+end_days; return seasonDate; } /** * 获取某年某月的最后一天 * @param year 年 * @param month 月 * @return 最后一天 */ private int getLastDayOfMonth(int year, int month) { if (month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12) { return 31; } if (month == 4 || month == 6 || month == 9 || month == 11) { return 30; } if (month == 2) { if (isLeapYear(year)) { return 29; } else { return 28; } } return 0; } /** * 是否闰年 * @param year 年 * @return */ public boolean isLeapYear(int year) { return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0); } }
发表评论
-
时间日期的相减问题(String类型转换成Date类型)
2010-01-06 17:29 3267最近在产品开发中遇到了统计在线时间的问题,数据库中的类型是da ... -
一个有关基本数据类型的题目
2009-08-27 18:18 646package com.sdjt.study.jibenlei ... -
一种较为友好的方式格式化日期时间值
2009-08-27 17:54 1056package com.sdjt.study.intervie ... -
比较时间的大小
2009-08-27 17:45 1027package com.sdjt.study.intervie ... -
数组中全局变量与局部变量的初始赋值问题
2009-08-27 15:08 2518package com.sdjt.study.intervie ... -
JAVA中的类型转换
2009-08-27 13:35 16111如何将字串 String 转换成整数 int? A. 有两个 ... -
如何正确的使用Timer的schedule()方法?
2009-08-21 09:30 1842web.xml 里面<listener><l ... -
在MYECLIPSE中启动TOMCAT5时出现“The Apache Tomcat Native library which allows optimal pe
2009-08-19 14:43 2485tomcat5的The Apache Tomc ...
相关推荐
globalmousekeyhook InputSimulator
免费JAVA毕业设计 2024成品源码+论文+录屏+启动教程 启动教程:https://www.bilibili.com/video/BV1SzbFe7EGZ 项目讲解视频:https://www.bilibili.com/video/BV1Tb421n72S 二次开发教程:https://www.bilibili.com/video/BV18i421i7Dx
基于麻雀搜索算法优化SVR回归预测模型:以身体脂肪含量数据集的精准预测为研究对象,基于麻雀搜索算法优化SVR回归预测模型 输入不限,单输出 数据选用:身体脂肪含量数据集 针对SVR回归预测模型采用麻雀搜索算法 ,基于麻雀搜索算法; SVR回归预测模型优化; 身体脂肪含量数据集; 算法优化SVR模型,基于麻雀搜索算法优化SVR预测身体脂肪含量模型
1、文件内容:perl-Net-DNS-Nameserver-0.72-6.el7.rpm以及相关依赖 2、文件形式:tar.gz压缩包 3、安装指令: #Step1、解压 tar -zxvf /mnt/data/output/perl-Net-DNS-Nameserver-0.72-6.el7.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm 4、安装指导:私信博主,全程指导安装
1、文件内容:perl-Class-Singleton-1.4-14.el7.rpm以及相关依赖 2、文件形式:tar.gz压缩包 3、安装指令: #Step1、解压 tar -zxvf /mnt/data/output/perl-Class-Singleton-1.4-14.el7.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm 4、安装指导:私信博主,全程指导安装
C++-example-数组奇偶数分离.rar
免费JAVA毕业设计 2024成品源码+论文+录屏+启动教程 启动教程:https://www.bilibili.com/video/BV1SzbFe7EGZ 项目讲解视频:https://www.bilibili.com/video/BV1Tb421n72S 二次开发教程:https://www.bilibili.com/video/BV18i421i7Dx
JAVA**
免费JAVA毕业设计 2024成品源码+论文+录屏+启动教程 启动教程:https://www.bilibili.com/video/BV1SzbFe7EGZ 项目讲解视频:https://www.bilibili.com/video/BV1Tb421n72S 二次开发教程:https://www.bilibili.com/video/BV18i421i7Dx
自然语言处理导论+网络预览版(张奇)
一个使用 C++ 结合 DeepSeek 相关功能的源码,模拟一个简单的问答场景,使用 DeepSeek 模型来回答用户提出的问题。 实现思路 模型和分词器加载:利用 libtorch 加载 DeepSeek 模型,使用 tokenizers-cpp 加载对应的分词器。 问题处理:对用户输入的问题进行分词和编码,转化为模型可处理的张量形式。 模型推理:将编码后的问题输入到模型中进行推理,获取预测结果。 结果解码:把模型输出的结果解码为可读的文本。 环境准备 安装 PyTorch C++ 库(libtorch):从 PyTorch 官方网站 下载适合你系统的预编译版本。 安装 tokenizers-cpp:可以从其 GitHub 仓库 获取并编译安装。
,三菱FX3U ST语言程序模板 1 程序采用三菱FX3U的PLC编写。 2 触摸屏是台达 3 程序由以下部分组成 3.1 开机准备 3.2 复位 3.3 加热控制 3.4 暂停控制 3.5自动运行 3.6 生产管理 3.7节控制 3.8自动紧急停止 3.9 手动程序 3.10 手动复位 3.11 程序输出 3.12 气缸报警 3.13 密码管理 3.14 辅助控制 如果你是初学者,不建议去看。 如果你有一定的经验,可以更一步的提高技术。 为以后做运控控制卡,运动控制器做好基础。 是一个很不错的程序。
免费JAVA毕业设计 2024成品源码+论文+录屏+启动教程 启动教程:https://www.bilibili.com/video/BV1SzbFe7EGZ 项目讲解视频:https://www.bilibili.com/video/BV1Tb421n72S 二次开发教程:https://www.bilibili.com/video/BV18i421i7Dx
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。
JavaEE
1、文件内容:perl-Module-Implementation-0.06-6.el7.rpm以及相关依赖 2、文件形式:tar.gz压缩包 3、安装指令: #Step1、解压 tar -zxvf /mnt/data/output/perl-Module-Implementation-0.06-6.el7.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm 4、安装指导:私信博主,全程指导安装
1、文件内容:perl-Image-Xbm-1.08-21.el7.rpm以及相关依赖 2、文件形式:tar.gz压缩包 3、安装指令: #Step1、解压 tar -zxvf /mnt/data/output/perl-Image-Xbm-1.08-21.el7.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm 4、安装指导:私信博主,全程指导安装
1、文件内容:perl-HTTP-Date-6.02-8.el7.rpm以及相关依赖 2、文件形式:tar.gz压缩包 3、安装指令: #Step1、解压 tar -zxvf /mnt/data/output/perl-HTTP-Date-6.02-8.el7.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm 4、安装指导:私信博主,全程指导安装
基于FPGA技术的HDMI视频输出实现策略与应用案例分析,基于fpga实现hdmi视频输出的实现 ,基于FPGA; 实现HDMI; 视频输出; 关键技术; 视频处理; 信号转换; 驱动开发,基于FPGA的HDMI视频输出实现技术
"平面磨床电气系统升级:S7-1200 PLC改造的详细方案与解析",No.173 S7-1200 MCGS M7120型平面磨床电气控制系统的PLC改造 带解释的梯形图接线图原理图图纸,io分配,组态画面 ,关键词: S7-1200 PLC; MCGS M7120型平面磨床; 电气控制系统; PLC改造; 梯形图接线图; 原理图图纸; IO分配; 组态画面。,《S7-1200 PLC在M7120型平面磨床电气系统改造中的应用》