java怎么获取年时间?

兮家小二 2019-04-03 08:42:55
请问java 怎么获取今年 一月一号 0点0分0秒的时间,和去年最后一天23点59分59秒?
...全文
664 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
十八道胡同 2019-04-03
  • 打赏
  • 举报
回复
获取时间 尽量用Calendar类来做
bcsflilong 2019-04-03
  • 打赏
  • 举报
回复


package csdn.test;

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

public class DateTest {

private final static SimpleDateFormat DEFAULT_FORMAT=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

/**
* 格式化日期
* @param date 日期对象
* @return String 日期字符串
*/
public static String formatDate(Date date){
SimpleDateFormat f = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String sDate = f.format(date);
return sDate;
}

/**
* 获取当年的第一天
* @param year
* @return
*/
public static Date getCurrYearFirst(){
Calendar currCal=Calendar.getInstance();
int currentYear = currCal.get(Calendar.YEAR);
return getYearFirst(currentYear);
}

public static String getBeforeYearFirst(){
Date currYear=getCurrYearFirst();
Calendar calendar=Calendar.getInstance();
calendar.setTime(currYear);

calendar.set(Calendar.SECOND, -1);

return DEFAULT_FORMAT.format(calendar.getTime());
}

/**
* 获取当年的最后一天
* @param year
* @return
*/
public static Date getCurrYearLast(){
Calendar currCal=Calendar.getInstance();
int currentYear = currCal.get(Calendar.YEAR);
return getYearLast(currentYear);
}
public static Date getYearFirst(int year){
Calendar calendar = Calendar.getInstance();
calendar.clear();
calendar.set(Calendar.YEAR, year);
Date currYearFirst = calendar.getTime();
return currYearFirst;
}

/**
* 获取某年最后一天日期
* @param year 年份
* @return Date
*/
public static Date getYearLast(int year){
Calendar calendar = Calendar.getInstance();
calendar.clear();
calendar.set(Calendar.YEAR, year);
calendar.roll(Calendar.DAY_OF_YEAR, -1);
Date currYearLast = calendar.getTime();

return currYearLast;
}


public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println(formatDate(getCurrYearFirst()));
System.out.println(getBeforeYearFirst());
System.out.println(formatDate(getCurrYearLast()));

}

}

十八道胡同 2019-04-03
  • 打赏
  • 举报
回复
package com.demo;


import java.util.Calendar;
import java.util.Date;
import java.util.Objects;

public class Test {

    public static void main(String[] args){
        System.out.println(getFirstSecond(new Date()));
        System.out.println(getLastSecond(new Date()));
    }

    public static Date getFirstSecond(Date date){
        Calendar cd = Calendar.getInstance();
        cd.setTime(date);
       cd.set(Calendar.HOUR_OF_DAY, 0);
       cd.set(Calendar.MINUTE, 0);
       cd.set(Calendar.SECOND, 0);
        cd.set(Calendar.DAY_OF_YEAR,1);
        return cd.getTime();
    }
    public static Date getLastSecond(Date date){
        Calendar cd = Calendar.getInstance();
        cd.setTime(date);
        cd.set(Calendar.HOUR_OF_DAY, 0);
        cd.set(Calendar.MINUTE, 0);
        cd.set(Calendar.SECOND, 0);
        cd.set(Calendar.DAY_OF_YEAR,1);
        cd.add(Calendar.YEAR,1);
        cd.add(Calendar.SECOND,-1);
        return cd.getTime();
    }
}
天行归来 2019-04-03
  • 打赏
  • 举报
回复
我有日期时间工具类有封装了个去掉时间函数,你可以根据自己需要改改

public static Date truncateTime(Date date){
Calendar cd = Calendar.getInstance();
cd.setTime(date);
cd.set(Calendar.HOUR_OF_DAY, 0);
cd.set(Calendar.MINUTE, 0);
cd.set(Calendar.SECOND, 0);
cd.set(Calendar.MILLISECOND, 0);

return cd.getTime();
}
兮家小二 2019-04-03
  • 打赏
  • 举报
回复
api获取,写工具类,周,日,月. 和7天内,月内,年内都有了,就差获取今年的时间,,通过两个时间段查询sql,不想写死 今年, 一月一号 0点0分0秒 到现在 去年, 去一月一号 0点0分0秒 到 去年最后一天23点59分59秒,
咦哟~~~ 2019-04-03
  • 打赏
  • 举报
回复
额,你是用来做啥,你都说的这么清楚了,直接写成字符串,转成date不就好了。。。 或者你是想写个计时器 还是什么的 没有懂你的需求

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧