博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java 每年第一天_java代码的时间类,获取每年的第一天和最后一天
阅读量:4579 次
发布时间:2019-06-08

本文共 4777 字,大约阅读时间需要 15 分钟。

标签:

package com.fzl.util;

import java.sql.Timestamp;

import java.text.DateFormat;

import java.text.SimpleDateFormat;

import java.util.Calendar;

import java.util.Date;

import java.util.Locale;

public class DateUtil {

/**

* 默认日期格式

*/

public static String DEFAULT_FORMAT = "yyyy-MM-dd";

/**

* 格式化日期

* @param date 日期对象

* @return String 日期字符串

*/

public static String formatDate(Date date){

SimpleDateFormat f = new SimpleDateFormat(DEFAULT_FORMAT);

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);

}

/**

* 获取当年的最后一天

* @param year

* @return

*/

public static Date getCurrYearLast(){

Calendar currCal=Calendar.getInstance();

int currentYear = currCal.get(Calendar.YEAR);

return getYearLast(currentYear);

}

/**

* 获取某年第一天日期

* @param year 年份

* @return Date

*/

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 String getAfterDay(String date,int num ){

//用给定的模式和默认语言环境的日期格式符号构造 SimpleDateFormat。

SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd ");

Date dt=null;

try{

//解析字符串的文本,生成 Date

dt=sdf.parse(date);

}

catch(Exception e){

e.printStackTrace();

}

//使用默认时区和语言环境获得一个日历。

Calendar calendar=Calendar.getInstance();

//使用给定的 Date 设置此 Calendar 的时间。

calendar.setTime(dt);

//根据日历的规则,为给定的日历字段添加或减去指定的时间量。

calendar.add(Calendar.DATE, num);

//用给定的模式和给定语言环境的默认日期格式符号构造 SimpleDateFormat

SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd",

Locale.ENGLISH);

//将给定的 Date 格式化为日期/时间字符串,

//calendar.getTime()返回一个表示此 Calendar 时间值(从历元至现在的毫秒偏移量)的 Date 对象。

return simpleDateFormat.format(calendar.getTime());

}

public static String getBeforeDate(int num){

//使用默认时区和语言环境获得一个日历。

Calendar calendar=Calendar.getInstance();

//new Date()分配 Date 对象并初始化此对象,以表示分配它的时间(精确到毫秒)

calendar.setTime(new Date());

//根据日历的规则,为给定的日历字段添加或减去指定的时间量

calendar.add(Calendar.DATE, -num);

//用给定的模式和给定语言环境的默认日期格式符号构造 SimpleDateFormat

SimpleDateFormat simpleDateFormate=new SimpleDateFormat("yyyy-MM-dd",

Locale.ENGLISH);

return simpleDateFormate.format(calendar.getTime());

}

//获得当前的日期

public static String getdate(){

// 分配 Date 对象并初始化此对象,以表示分配它的时间(精确到毫秒)

Date dt=new Date();

//dt.getTime()返回自 1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象表示的毫秒数。

long tmlong=dt.getTime();

//分配 Date 对象并初始化此对象,以表示自从标准基准时间(称为“历元(epoch)”,

//Date(tmlong)即 1970 年 1 月 1 日 00:00:00 GMT)以来的指定毫秒数。

return (new java.sql.Date(tmlong).toString());

}

//获得当前的日期时间,精确到时分秒,并转化为字符串的形式

public static String getDateTime(){

Date dt=new Date();

long tmlong=dt.getTime();

//Time(tmlong):使用毫秒时间值构造 Time 对象。

return (new java.sql.Date(tmlong)+" "+

(new java.sql.Time(tmlong))).toString();

}

//字符串转换成日期时间,不精确到时分秒

public static Date getStringToDate(String day){

//用给定的模式和默认语言环境的日期格式符号构造 SimpleDateFormat。

SimpleDateFormat sdf1=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//HH是24小时制,hh是12小时制

SimpleDateFormat sdf2=new SimpleDateFormat("yyyy-MM-dd");

Date dt = new Date();

try{

dt=sdf2.parse(day);

}

catch(Exception e){

e.printStackTrace();

}

// return new java.sql.Date(dt.getTime());

return dt;

}

//字符串转换成日期时间,精确到时分秒

public static Date getStringToDateTime(String day){

//用给定的模式和默认语言环境的日期格式符号构造 SimpleDateFormat。

SimpleDateFormat sdf1=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//HH是24小时制,hh是12小时制

SimpleDateFormat sdf2=new SimpleDateFormat("yyyy-MM-dd");

Date dt = new Date();

DateFormat df2 = DateFormat.getDateTimeInstance();//可以精确到时分秒

try{

dt=sdf2.parse(day);

}

catch(Exception e){

e.printStackTrace();

}

// return dt;

return new java.sql.Date(dt.getTime());

}

//判断字符串是否可以转换成date格式

public static boolean isValidDate(String s)

{

SimpleDateFormat dateFormat=new SimpleDateFormat("yyyy-MM-dd");

// 设置lenient为false. 否则SimpleDateFormat会比较宽松地验证日期,

//比如2007/02/29会被接受,并转换成2007/03/01

dateFormat.setLenient(false);

try

{

dateFormat.parse(s);

return true;

}

catch (Exception e)

{

// 如果throw java.text.ParseException或者NullPointerException,就说明格式不对

return false;

}

}

//传入日期格式的时间,并将之转换成字符串

public static String dateToString(Date date){

SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");

String day=sdf.format(date);

return day;

}

//将util.date转化为java.sql.Timestamp,以免util.date存入数据库的时时分秒损失

//此方法可能没什么用

public static Timestamp getTimestamp(Date date) {

return new java.sql.Timestamp(date.getTime());

}

}

标签:

转载地址:http://bmqms.baihongyu.com/

你可能感兴趣的文章
[bzoj3531][Sdoi2014]旅行
查看>>
【转】 NSString什么时候用copy,什么时候用strong
查看>>
C#异形窗体
查看>>
Linux知识(3)----常用快捷键和命令
查看>>
php unset和array_splice区别
查看>>
内存究竟有多快?
查看>>
Eclipse常用快捷键
查看>>
中小软件企业的研发团队建设(一)团队的组建
查看>>
MySQL主从复制与主主复制
查看>>
脚本定时备份数据库
查看>>
华为编程题:字符串排序
查看>>
java 编译
查看>>
hadoop 架构
查看>>
Linux services, runlevels, and rc.d scripts
查看>>
网络中常用的各种协议名称(中英文)和具体含义
查看>>
逆向工程——注册篇
查看>>
Python3 集合(无序的set)
查看>>
JS实现——贪吃蛇
查看>>
推荐10款免费的在线UI测试工具
查看>>
解构控制反转(IoC)和依赖注入(DI)
查看>>