• 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());
    }
    }
  • 相关阅读:
    正则如何匹配div下的所有<li>标签?
    日历
    生成一定数量的不重复随机数
    PHP微信红包的算法实现探讨
    Flask 快速使用 —— (1)
    Django rest framework(8)---- 视图和渲染器
    Django 组件之 ----- content-type
    Django rest framework(7)----分页
    Django rest framework(6)----序列化(2)
    Django rest framework(5)----解析器
  • 原文地址:https://www.cnblogs.com/ccuzhaozhihao/p/4785528.html
Copyright © 2020-2023  润新知