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

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. java基础概略总结

    /*************************************************/ String b=""; String c=""; // ...

  2. python enhanced generator - coroutine

    本文主要介绍python中Enhanced generator即coroutine相关内容,包括基本语法.使用场景.注意事项,以及与其他语言协程实现的异同. enhanced generator 在上 ...

  3. linux命令行模式下对FTP服务器进行文件上传下载

    参考源:点击这里查看   1. 连接ftp服务器 格式:ftp [hostname| ip-address]a)在linux命令行下输入: ftp 192.168.1.1 b)服务器询问你用户名和密码 ...

  4. Unity3d Hololens MR开发入门

    一.Hololens概述 Hololens有以下特性 1.空间映射借助微软特殊定制的全息处理单元(HPU),HoloLens 实现了对周边环境的快速扫描和空间匹配.这保证了 HoloLens能够准确地 ...

  5. 编写JQuery插件-4

    封装对象方法的插件 jQuery.fn.extend() 的两种写法 以添加一个点击按钮为例: 方法一: (function ($) { $.fn.mask = function(options){ ...

  6. php数组排序

    sort() - 以升序对数组排序rsort() - 以降序对数组排序asort() - 根据值,以升序对关联数组进行排序ksort() - 根据键,以升序对关联数组进行排序arsort() - 根据 ...

  7. mdadm命令详解及实验过程

    一.概念 mdadm是multiple devices admin的简称,它是Linux下的一款标准的软件 RAID 管理工具,作者是Neil Brown 二.特点 mdadm能够诊断.监控和收集详细 ...

  8. Loadrunner 在controller中运行socket脚本时报错:Abnormal termination, caused by mdrv process termination 的原因和解决方法

    原因: 网上给出的可能的原因大致有两个: 1.  压力负载机器的资源不足(CPU,内存) 2.  分配内存和释放内存的语句不匹配. 并给出了一些解决方案,最开始我以为是加了IP地址的原因,不断尝试增加 ...

  9. vim高亮设置

    vim高亮设置 前提: 查看vim是否完整安装 rpm -qa | grep vim 若完整安装,则会出现如下相关信息 vim-filesystem-7.4.629-5.el6.x86_64 vim- ...

  10. 【UWP】FFmpeg库的编译

    本文是关于windows8.1/windows10通用应用下编译ffmpeg的一些需要注意的地方,针对最新的msys2而写,都是我在实际操作中遇到的,但是网上没有提到的.如果大家遇到什么问题或是在之前 ...