刚进公司,作为熟悉技术,为公司做了一个小的点餐系统的网站,其中大量用到了时间日期作为唯一标示或是显示设置。特总结了一下和大家分享。

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日期获取需求大全的更多相关文章

  1. Java——日期获取和日期格式化

    import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; impor ...

  2. java日期获取前一天和后一天

    import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Calendar;import j ...

  3. java 日期获取时间戳

    SimpleDateFormat df = new SimpleDateFormat("yyyy/MM/dd hh:mm:ss");            String dateS ...

  4. java日期格式转换大全

    public class DateFormatUtils { private static Log logger = LogFactory.getLog(DateFormatUtils.class); ...

  5. java日期格式大全 format SimpleDateFormat(转)

    java日期格式大全 format SimpleDateFormat   /**    * 字符串转换为java.util.Date<br>    * 支持格式为 yyyy.MM.dd G ...

  6. java中获取日期和时间的方法总结

    1.获取当前时间,和某个时间进行比较.此时主要拿long型的时间值. 方法如下:  要使用 java.util.Date .获取当前时间的代码如下 Date date = new Date(); da ...

  7. java日期操作大全

    摘自(http://www.blogjava.net/i369/articles/83483.html) java日期操作 大全 先来一个:  取得指定月份的第一天与取得指定月份的最后一天  http ...

  8. Java 日期时间获取和显示

    Java正确获取星期Calendar.DAY_OF_WEEKhttp://chamcon.iteye.com/blog/2144433 Java SimpleDateFormat 中英文时间格式化转换 ...

  9. Java 获取日期间的日期 & 根据日期获取星期

    场景:根据起止日期获取中间的日期: 根据日期获取当前日期的星期 根据日期日期获取日期 /** * 获取日期间日期 * @param start * @param end * @return */ pr ...

随机推荐

  1. 模仿qq界面实现(WTL)

    前面对于界面用哪一种我试过用duilib,但是老感觉和MFC差距有点多,终于发现WTL的库能够实现我的所有界面功能,几天的努力终于搞定界面的重写.还是见我的成果吧: 1登录界面: 2主界面: 3.主界 ...

  2. IOS隐藏navigationItem左右按钮的方法

    在移除一个View的时候或者根据需要希望让navigationItem的rightBarButtonItem或者leftBarButtonItem处于隐藏状态,一个简单的方法如下:   self.na ...

  3. 深圳尚学堂:Java中Class对象

    Java中生成Class对象和生成instance都有多种方式.所以只有弄清其中的原理,才可以深入理解.首先要生成Class对象,然后再生成Instance.那Class对象的生成方式有哪些呢,以及其 ...

  4. 创建 vxlan 并部署 instance - 每天5分钟玩转 OpenStack(147)

    上一节我们完成了 OVS VxLAN 的配置工作,今天创建 vxlan100_net 并部署 instance. 创建 vxlan100_net 打开菜单 Admin -> Networks,点 ...

  5. Myeclipse插件将wsdl生成java客户端代码

    一.建立webservice服务端: 1.新建一个web service project,名称为webservice_server截图如下,点击finish. 2.选择工程,点击右键,选择new-&g ...

  6. React核心内容归纳总结

    状态.属性.组件API.组件的生命周期 当react的状态改变时,自动执行this.render()方法更新组件ES6写React的时候,事件里不会自动绑定this,需要自己绑定,或者直接在const ...

  7. js-组件-轮播

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  8. SQL SPLIT2

    CREATE   FUNCTION  F_SQLSERVER_SPLIT( @Long_str   varchar ( 8000 ), @split_str   varchar ( 100 ))    ...

  9. Spark源码分析之Spark Shell(上)

    终于开始看Spark源码了,先从最常用的spark-shell脚本开始吧.不要觉得一个启动脚本有什么东东,其实里面还是有很多知识点的.另外,从启动脚本入手,是寻找代码入口最简单的方法,很多开源框架,其 ...

  10. Azure 基础:用 PowerShell 自动发布 CloudServices

    在软件的开发过程中,自动化的编译和部署能够带来很多的优势.下面我们聊聊如何自动发布云应用程序到 azure 上的 cloud services. 打包要发布的内容 首先使用 msbuild 编译 *. ...