Java日期获取需求大全
刚进公司,作为熟悉技术,为公司做了一个小的点餐系统的网站,其中大量用到了时间日期作为唯一标示或是显示设置。特总结了一下和大家分享。
package com.lucis.ordering.Utils; import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date; /**
* Created by JayZhao on 2015/8/17 0017.
* 系统日期获取控件
*/
public class DateUtil { //实例化date对象
Date date = new Date();
//格式化成年月日式 date 类型
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
//格式化年月日 时分秒 date 类型
SimpleDateFormat detailsDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); //解析成年-月-日 格式date形数据
public Date SimpleSystemTime(){
String now =new SimpleDateFormat("yyyy-MM-dd").format(date);
try {
return simpleDateFormat.parse(now);
} catch (ParseException e) {
e.printStackTrace();
}
return date;
}
//解析成年-月-日 格式String形数据
public String SimpleSystemTimeString(){
return new SimpleDateFormat("yyyy-MM-dd").format(date);
}
//解析成年-月-日 时:分:秒 格式date形数据
public Date DetailSystemTime(){
String now =new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(date);
try {
return detailsDateFormat.parse(now);
} catch (ParseException e) {
e.printStackTrace();
}
return date;
}
//解析成年-月-日 星期几 格式date形数据
public String MiddleSystemTime() {
String now =new SimpleDateFormat("yyyy-MM-dd").format(date);
String[] weekDays = {"星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"};
Calendar cal = Calendar.getInstance();
cal.setTime(date);
int w = cal.get(Calendar.DAY_OF_WEEK) - 1;
if (w < 0) {
w = 0;
}
return now+" "+weekDays[w];
}
//根据时间获取当日星期
public int WeekDays(String day){ Calendar cal = Calendar.getInstance();
try {
cal.setTime(simpleDateFormat.parse(day));
} catch (ParseException e) {
e.printStackTrace();
}
int w = cal.get(Calendar.DAY_OF_WEEK) - 1;
return w;
}
//解析当前日期前几天成 年-月-日 格式的date数据
public String Yesterday(){
Calendar calendar = Calendar.getInstance();//此时打印它获取的是系统当前时间
calendar.add(Calendar.DATE, -1); //得到前一天
return new SimpleDateFormat("yyyy-MM-dd").format(calendar.getTime());
}
//解析某一天的前几天
public String getSpecifiedDayBefore(String specifiedDay,int d){
Calendar c = Calendar.getInstance();
Date date=null;
try {
date = new SimpleDateFormat("yy-MM-dd").parse(specifiedDay);
} catch (ParseException e) {
e.printStackTrace();
}
c.setTime(date);
int day=c.get(Calendar.DATE);
c.set(Calendar.DATE,day-d);
String dayBefore=new SimpleDateFormat("yyyy-MM-dd").format(c.getTime());
return dayBefore;
}
//比较两个时间大小
public boolean compare(String date1,String date2){
boolean result = false;
try {
result = simpleDateFormat.parse(date1).before(simpleDateFormat.parse(date2));
} catch (ParseException e) {
e.printStackTrace();
}
return result;
}
//根据一天获取一周时间
public String testDate(String newtime) {
String dayNames[] = {"星期日","星期一","星期二","星期三","星期四","星期五","星期六"};
int week1[] = {7,1,2,3,4,5,6};
Calendar c = Calendar.getInstance();// 获得一个日历的实例
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
try {
c.setTime(sdf.parse(newtime));
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
String a=dayNames[c.get(Calendar.DAY_OF_WEEK)-1];
int b=week1[c.get(Calendar.DAY_OF_WEEK)-1];
if(b!=7){
c.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
}else{
c.add(Calendar.WEEK_OF_MONTH, -1);
c.set(Calendar.DAY_OF_WEEK, 2);
}
return a;
} //获取某一天的下周一
public String getNextMonday(Date date){
Calendar cal = Calendar.getInstance();
cal.setTime(date);
int week = cal.get(Calendar.DAY_OF_WEEK);
if(week>2){
cal.add(Calendar.DAY_OF_MONTH,-(week-2)+7);
}else{
cal.add(Calendar.DAY_OF_MONTH,2-week+7);
}
return new SimpleDateFormat("yyyy-MM-dd").format(cal.getTime());
} //获取某一天的本周一
public String getMonday(Date date){
Calendar cal = Calendar.getInstance();
cal.setTime(date);
int week = cal.get(Calendar.DAY_OF_WEEK);
if(week>2){
cal.add(Calendar.DAY_OF_MONTH,-(week-2));
}else{
cal.add(Calendar.DAY_OF_MONTH,2-week);
}
return new SimpleDateFormat("yyyy-MM-dd").format(cal.getTime());
}
}
Java日期获取需求大全的更多相关文章
- Java——日期获取和日期格式化
import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; impor ...
- java日期获取前一天和后一天
import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Calendar;import j ...
- java 日期获取时间戳
SimpleDateFormat df = new SimpleDateFormat("yyyy/MM/dd hh:mm:ss"); String dateS ...
- java日期格式转换大全
public class DateFormatUtils { private static Log logger = LogFactory.getLog(DateFormatUtils.class); ...
- java日期格式大全 format SimpleDateFormat(转)
java日期格式大全 format SimpleDateFormat /** * 字符串转换为java.util.Date<br> * 支持格式为 yyyy.MM.dd G ...
- java中获取日期和时间的方法总结
1.获取当前时间,和某个时间进行比较.此时主要拿long型的时间值. 方法如下: 要使用 java.util.Date .获取当前时间的代码如下 Date date = new Date(); da ...
- java日期操作大全
摘自(http://www.blogjava.net/i369/articles/83483.html) java日期操作 大全 先来一个: 取得指定月份的第一天与取得指定月份的最后一天 http ...
- Java 日期时间获取和显示
Java正确获取星期Calendar.DAY_OF_WEEKhttp://chamcon.iteye.com/blog/2144433 Java SimpleDateFormat 中英文时间格式化转换 ...
- Java 获取日期间的日期 & 根据日期获取星期
场景:根据起止日期获取中间的日期: 根据日期获取当前日期的星期 根据日期日期获取日期 /** * 获取日期间日期 * @param start * @param end * @return */ pr ...
随机推荐
- 以Tomcat+Mysql为例,实现Docker多容器连接
Docker提供了多个容器直接访问的方法,最简单的方式是直接使用端口映射-p参数指定映射的端口或者-P映射所有端口,多个容器直接通过网络端口进行访问. 但网络端口映射方式并不是Docker中连接多个容 ...
- 导入android工程没有R文件的解决办法
第一种: 千万不要重启Eclipse.也不自己创建R.java 类文件! 右击你的工程(项目)——>Android Tools——>Fix Project Properties ...
- (三)Lua脚本语言入门
又要找工作了,变的忧虑了,唯有学习才让内心变得踏实,今天玩了一下午的王者荣耀,正事都忘了...... 如果认为所谓的毅力是每分每秒的"艰苦忍耐"式的奋斗,那这是一种很不足的心理状态 ...
- C++编程练习(12)----“有向图的拓扑排序“
设G={V,E}是一个具有 n 个顶点的有向图,V中的顶点序列 v1,v2,......,vn,满足若从顶点 vi 到 vj 有一条路径,则在顶点序列中顶点 vi 必在顶点 vj 之前.则称这样的顶点 ...
- 每日一练之自适应中值滤波器(基于OpenCV实现)
本文主要介绍了自适应的中值滤波器,并基于OpenCV实现了该滤波器,并且将自适应的中值滤波器和常规的中值滤波器对不同概率的椒盐噪声的过滤效果进行了对比.最后,对中值滤波器的优缺点了进行了总结. 空间滤 ...
- 龙珠超的新OP【限界突破×サバイバー】
这首歌真的很燃 下载>> 限界突破×サバイバー 中文歌词 演唱:冰川清志 兴奋了!就去宇宙吧 最先端的“着迷”怎么样! 握在手中 突然想要大笑 糊里糊涂也习惯了吗! I can't g ...
- 使用Hugo搭建GitHub个人博客
主题概况 Hugo 是一个用 Go 语言编写的静态网站生成器.类似的静态网站生成器还有Jekyll.hexo等等.以上生成器都使用过,但感觉要么环境麻烦,要么生成静态页面步骤繁琐以及生成缓慢.如果你正 ...
- centos 7安装es 及异常处理
首先,我们从官网下载zip包:(官网:https://www.elastic.co/downloads/elasticsearch) 直接使用浏览器下载可能会很慢,我一般会copy下载链接,然后w ...
- windows下vue+webpack前端开发环境搭建及nginx部署
一.开发环境搭建 1.前端框架一般都依赖nodejs,我们首先要安装node.js.请参考http://www.cnblogs.com/wuac/p/6381819.html. 2.由于许多npm的源 ...
- 制作 OpenStack Windows 镜像 - 每天5分钟玩转 OpenStack(152)
这是 OpenStack 实施经验分享系列的第 2 篇. OpenStack 通过 Glance 镜像部署 instance,上一节我们介绍了 linux 镜像制作方法,windows 镜像与 lin ...