当前位置:首页 » 编程语言 » java日期工具类

java日期工具类

发布时间: 2023-03-19 01:17:53

Ⅰ 怎样用java语言实现一个时间日期工具类:DateUtils通过调用该类的方法可以实现以下功能:

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

public class DateUtils {

/**
* 可胡桐以获取当前时间(JAVA.UTIL.DATE)
* @return 当前时间
*/
public static Date getCurDate() {
return new Date();
}

/**
* 可以获取当前时间(YYYY-MM-DD HH:MI:SS.mmm)
* @return 当前时间
*/
public static String getCurDateStr() {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SS");
return sdf.format(getCurDate());
}

/**
* 比较两个时间大小
* @param date1
* @param date2
* @return date1大于date2 返回1,date1等于date2 返回0, date1少于date2 返回裤搜坦-1
*/
public static int compare(Date date1, Date date2) {
return date1.compareTo(date2);
}

/**
* 获取当前日期的下个7天的日期(JAVA.UTIL.DATE)
* @return 当前日期的下个7天的日期(JAVA.UTIL.DATE)
*/
public static Date getNextWeek() {
Date date = getCurDate();
long l = date.getTime();
l += 1000 * 60 * 60 * 24 * 7;
return new Date(l);
}

/**
* 获取当前日期的下个7天的日期(YYYY-MM-DD HH:MI:SS.mmm)
* @return 当前日期的下个7天的漏戚日期(YYYY-MM-DD HH:MI:SS.mmm)
*/
public static String getNextWeekStr() {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SS");
return sdf.format(getNextWeek());
}
}

Ⅱ java 什么叫工具类

是包含集合框架、遗留的 collection 类、事件模型、日期和时间设施、国际化和各种实用工具类(字符串标记生成器、随机数生成器和位数组、日期Date类、堆栈Stack类、向量Vector类等)。集合类、时间处理模式、日期时间工具等各类常用工具包

Ⅲ java怎么获得当前年月日并赋给变量

Java获得当前年月日并赋值给变量,主要是使用java 提供的工具类Calendar,Date来获取,如下代码:

packagecom.ob;

importjava.text.ParseException;
importjava.text.SimpleDateFormat;
importjava.util.Calendar;
importjava.util.Date;

publicclassDateTest{

publicstaticvoidmain(String[]args)throwsParseException{
Calendarnow=Calendar.getInstance();
System.out.println("年:"+now.get(Calendar.YEAR));
System.out.println("月:"+(now.get(Calendar.MONTH)+1)+"");
System.out.println("日:"+now.get(Calendar.DAY_OF_MONTH));
System.out.println("时:"+now.get(Calendar.HOUR_OF_DAY));
System.out.println("分:"+now.get(Calendar.MINUTE));
System.out.println("秒:"+now.get(Calendar.SECOND));
System.out.println("当前时间毫秒数:"+now.getTimeInMillis());
System.out.println(now.getTime());

Dated=newDate();
System.out.println(d);
SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-ddHH:mm:ss");
StringdateNowStr=sdf.format(d);
System.out.println("格式化后的日期:"+dateNowStr);

Stringstr="2012-1-1317:26:33";//要跟上面sdf定义的格式一样
Datetoday=sdf.parse(str);
System.out.println("字符串转成日期:"+today);
}
}

输出结果:

年: 2012
月: 1
日: 13
时: 17
分: 28
秒: 19
当前时间毫秒数:1326446899902
Fri Jan 13 17:28:19 CST 2012
Fri Jan 13 17:28:19 CST 2012
格式化后的日期:2012-01-13 17:28:19
字符串转成日期:Fri Jan 13 17:26:33 CST 2012

Ⅳ 用java定义一个日期类,急!!!

class MyDate{
public int year,month,day;
public MyDate(MyDate date){
year=date.year;
month=date.month;
day=date.day;
}
public boolean isLeapYear(){
return (((year%4==0)&&(year%100!=0))||(year%400==0));
}
public MyDate(int y,int m,int d){
year=y;
month=m;
day=d;
if(((month==1)||(month==3)||(month==5)||(month==7)||(month==8)||(month==10)||(month==12))&&((day<1)||(day>31))) System.out.println("wrong date");
if(((month==4)||(month==6)||(month==9)||(month==11))&&((day<1)||(day>30))) System.out.println("wrong date");
if(month==2){
if(isLeapYear()&&((day<1)||(day>29))) System.out.println("wrong date");
if(!isLeapYear()&&((day<1)||(day>28))) System.out.println("wrong date");
}
}
public boolean equal(MyDate date){
return (year==date.year && month==date.month && day==date.day);
}
public void incrementDay(){
if((month==1)||(month==3)||(month==5)||(month==7)||(month==8)||(month==10)){
int flag=0;
if(day==31){month+=1;flag=1;}
if((day<=30)&&(day>=1)){day+=1;}
if(flag==1) day=1;
flag=0;
}
if((month==4)||(month==6)||(month==9)||(month==11)){
int flag=0;
if(day==30){month+=1;flag=1;}
if((day<=29)&&(day>=1)){day+=1;}
if(flag==1) day=1;
flag=0;
}
if(month==12){
int flag=0;
if(day==31){year+=1;month=1;flag=1;}
if((day>=1)&&(day<=30)){day+=1;}
if(flag==1) day=1;
flag=0;
}
if(month==2){
int flag=0;
if(isLeapYear()){
if(day==29){month+=1;flag=1;}
if((day<=28)&&(day>=1)){day+=1;}
if(flag==1) day=1;
flag=0;
}
else{
if(day==28){month+=1;flag=1;}
if((day<=27)&&(day>=1)){day+=1;}
if(flag==1) day=1;
flag=0;
}
}
}
public int getYear(){
return year;
}
public int getMonth(){
return month;
}
public int getDay(){
return day;
}
public String toString(){
return (year+"-"+month+"-"+day);
}
}
public class Mytest{
public static void main(String[] test){
MyDate date1=new MyDate(2000,2,28);
MyDate date2=new MyDate(2006,12,31);
MyDate date3=new MyDate(date2);
System.out.println(date3.equal(date2));
date1.incrementDay();
System.out.println(date1.getYear()+" "+date1.getMonth()+" "+date1.getDay());
System.out.println(date1.toString());
date2.incrementDay();
System.out.println(date2.getYear()+" "+date2.getMonth()+" "+date2.getDay());
System.out.println(date2.toString());
}
}

Ⅳ java程序定义一个日期类

正好我这有一个日期的工具类,你参考一下。我是握陆直接黏贴进来的,看起来感觉有点乱,你复制后放到eclipse里看就整齐了。
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

import org.junit.Test;

/**
* @author Administrator
* 各种日期、时间转换的示例总结:
*/
public class DateFormatUtil {
/**
* 将当前时间转换成指定格式的日期形式的字符纯皮困串输出
* */
@Test
public void dateToStr(){
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String dateString = sdf.format(new Date());
System.out.println(dateString);
}

/**
* 将给定时间格式的字符串,解析成Date输出
* @throws ParseException
* */
@Test
public void strToDate() throws ParseException{
String str = "201012241002";//yyyyMMddhhmm
SimpleDateFormat sdf = new SimpleDateFormat("做念yyyyMMddhhmm");
Date date = sdf.parse(str);
System.out.println(date);
}
/**
* 字符串,格式化 为指定字符串
* @throws ParseException
*/
@Test
public void formatstr()throws ParseException{
String str = "20170314155847";//yyyyMMddhhmm
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String str2 = sdf2.format(sdf.parse(str));
System.out.println(str2);
}

/**
* 操作时间:当前时间减去一天,一月,一年
*/
@Test
public void oprateDate(){
Date date = new Date();//获取当前时间
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
// calendar.add(Calendar.YEAR, -1);//当前时间减去一年,即一年前的时间
// calendar.add(Calendar.MONTH, -1);//当前时间前去一个月,即一个月前的时间
calendar.add(Calendar.DATE, -1);
Date time = calendar.getTime();//获取一年前的时间,或者一个月前的时间
System.out.println(time);
}

}

Ⅵ 每个Java程序运行时系统用到那些低级的实用工具如处理时间的Date类,都会需要用

选枯蔽 D
A 选项的 java.lang 包是全局引入的, 不需要没悔州使用 import 语句引用
B 选项的 java.io 包是输入输出流, 比如读写文件之类的操作才需要用到
C 选项的 java.awt 包是图形化界面使用的包, 开发桌面图形化应用才需要使前桥用
D 选项的 java.util 包是工具类, 时间日期等通用工具类都在这个包下

Ⅶ 你常用的Java工具库都有哪些

JavaSDK肯定是使用最广的库,所以本文的名单焦点是流行的第三方库。该列表可能并不完善,所以如果你觉得有什么应该出现在列表中的,请留下您的评论。非常感谢!

1、核心库

  • Apache Commons Lang:来自Apache的核心库,为java.lang API补充了许多常用的工具类,如字符串操作、对象的创建等。

  • Google Guava:来自谷歌的核心库,包括集合(Collection)、缓存(Caching)、支持原语(Primitives)等。(示例)

  • 2、HTML、XML Parser

  • Jsoup:一个简化了的 HTML操作的库。(示例)

  • STaX:一组可以高效处理XML的API。 (示例)

  • 3、Web框架

  • Spring:Java平台上众所周知的开源框架和依赖注入容器。(示例)

  • Struts2:来自Apache的流行Web框架。 (示例)

  • GoogleWebToolkit:Google提供的开发工具库,主要用于构建和优化复杂的Web程序用。 (示例)

  • Strips:使用最新Java技术构建的Web程序框架,推荐使用。

  • Tapestry:面向组件的框架,用于使用Java创建动态、健壮、扩展性高的Web应用程序。

  • 请猛击这里查看以上面框架之间的比较。

    4、图表、报表、图像

  • JFreeChart:用于创建如条形图、折线图、饼图等图表。

  • JFreeReport:创建于输出PDF格式的报表。

  • JGraphT:创建图像,其中只包含由线段连接的点集。

  • 5、窗口

  • Swing:SDK提供的GUI库。(示例)

  • SWT:eclipse提供的GUI库。

  • SWT与Swing的比较。

    6.、GUI框架

  • EclipseRCP。(示例)

  • 7、自然语言处理

  • OpenNLP:来自Apache的自然语言处理库。 (示例)

  • StanfordParser:斯坦福大学提供的自然语言处理库。(示例)

  • 如果你是一名NLP专家,请猛击这里查看更多工具库介绍。

    8、静态分析

  • EclipseJDT:由IBM提供的静态分析库,可以操作Java源代码。(示例)

  • WALA:可以处理jar包文件(即字节码)的工具库。(示例)

  • 9、JSON

  • Jackson: 用于处理JSON数据格式的多用途的Java库。Jackson 旨在快速、准确、轻量、对开人员友好之间找到最好的平衡点。

  • XStream:一个简单用于对象和XML互相转换的库。

  • GoogleGson:一个专门用于Java对象和Json对象相互转换的工具库。(示例)

  • JSON-lib:用于beans、maps、collections、javaarrays、XML和JSON之间相互转换操作的工具库。

  • 10、数学

  • ApacheCommonsMath:提供数学计算和数值统计需函数的工具库。

  • 11、日志

  • ApacheLog4j:风行一时的日志记录操作库。(示例)

  • Logback:当前流行的log4j项目的继任者。

  • SLF4J(TheSimpleLoggingFacadeforJava): 各种日志框架的一个简单的外观或抽象(如java.util.logging 、logback、log4j等),允许用户在部署时加入需要的日志框架。

  • 12、Office

  • ApachePOI:利用其提供的APIs,可以使用纯Java代码操作各种基于微软OLE2合成文档格式的文档。

  • Docx4j:一个用于创建、操作微软公开的XML文件的库(支持Worddocx、 Powerpointpptx和Excelxlsx)。

  • 13、日期和时间

  • Joda-Time:如有质量问题包退包换的Java日期和时间类。

  • 14、数据库

  • Hibernate、EclipseLink、JPA

  • JDO

  • jOOQ

  • SpringJDBC、SpringData

  • ApacheDbUtils

  • 15、开发工具

  • Lambok: 旨在减少代码编写的Java开发库。

Ⅷ 3hutool源码分析:DateUtil(时间工具类)-获取日期的各种内容

知其然,知其所以然

此博文的依据:hutool-5.6.5版本源码

获得年的部分

源码的**DateTime.of(date).year()**可拆解成两部分

第一部分,看代码很好理解,就是类型的转化

第二部分,

从代码跟下来,可以发现会走到 toCalendar().get(field)

**toCalendar()**会得到Calendar,这会就好理解可以获取年了。

不止可以获取年,还可以获取年,月,日,时,分,秒。详细介绍可以看这里:万字博文教你搞懂java源码的日期和时间相关用法

获得指定日期所属季度,从1开始计数

源码的**DateTime.of(date).quarter()**可拆解成两部分

DateTime.of(date)上面有介绍了,这里就不水字了。

第二部分,month()获取DateTime对应的月份,然后再做了一个简单计算。

getField方法上面有介绍了,这里就不水字了。

获得指定日期所属季度,返回的是季度枚举对象Quarter

源码的**DateTime.of(date).quarterEnum()**可拆解成两部分

DateTime.of(date)上面有介绍了,这里就不水字了。

第二部分,quarter()上面有源码分析,结论是获取 获得当前日期所属季度,从1开始计数

**Quarter.of(int)**就是把对应的数值转为对应的枚举Quarter

获得月份,从0开始计数

源码的**DateTime.of(date).month()**可拆解成两部分

DateTime.of(date)上面有介绍了,这里就不水字了。

第二部分,getField方法上面有介绍了,这里就不水字了。

获得月份,返回月份枚举对象Month

源码的**DateTime.of(date).monthEnum()**可拆解成两部分

DateTime.of(date)上面有介绍了,这里就不水字了。

第二部分,month()是获得月份,从0开始计数

**Month.of(int)**就是把对应的数值转为对应的枚举Month

获得指定日期是所在年份的第几周
此方法返回值与一周的第一天有关,比如:
2016年1月3日为周日,如果一周的第一天为周日,那这天是第二周(返回2)
如果一周的第一天为周一,那这天是第一周(返回1)
跨年的那个星期得到的结果总是1

源码的**DateTime.of(date).weekOfYear()**可拆解成两部分

DateTime.of(date)上面有介绍了,这里就不水字了。

第二部分,getField方法上面有介绍了,这里就不水字了。

获得指定日期是所在月份的第几周

源码的**DateTime.of(date).year()**可拆解成两部分

DateTime.of(date)上面有介绍了,这里就不水字了。

第二部分,getField方法上面有介绍了,这里就不水字了。

获得指定日期是这个日期所在月份的第几天

源码的**DateTime.of(date).dayOfMonth()**可拆解成两部分

DateTime.of(date)上面有介绍了,这里就不水字了。

第二部分,getField方法上面有介绍了,这里就不水字了。

获得指定日期是这个日期所在年的第几天

源码的**DateTime.of(date).dayOfYear()**可拆解成两部分

DateTime.of(date)上面有介绍了,这里就不水字了。

第二部分,getField方法上面有介绍了,这里就不水字了。

获得指定日期是星期几,1表示周日,2表示周一

源码的**DateTime.of(date).dayOfWeek()**可拆解成两部分

DateTime.of(date)上面有介绍了,这里就不水字了。

第二部分,getField方法上面有介绍了,这里就不水字了。

获得指定日期是星期几

源码的**DateTime.of(date).dayOfWeekEnum()**可拆解成两部分

DateTime.of(date)上面有介绍了,这里就不水字了。

第二部分,dayOfWeek()是获得指定日期是星期几,1表示周日,2表示周一

**Week.of(int)**就是把对应的数值转为对应的枚举Week

获得指定日期的小时数部分

源码的**DateTime.of(date).hour(is24HourClock)**可拆解成两部分

DateTime.of(date)上面有介绍了,这里就不水字了。

第二部分,getField方法上面有介绍了,这里就不水字了。

is24HourClock ? DateField.HOUR_OF_DAY : DateField.HOUR :is24HourClock 是否24小时制

DateField.HOUR_OF_DAY :小时,用于24小时制

DateField.HOUR :小时,用于12小时制

获得指定日期的分钟数部分
例如:10:04:15.250 =》 4

源码的**DateTime.of(date).minute()**可拆解成两部分

DateTime.of(date)上面有介绍了,这里就不水字了。

第二部分,getField方法上面有介绍了,这里就不水字了。

获得指定日期的秒数部分

源码的**DateTime.of(date).second()**可拆解成两部分

DateTime.of(date)上面有介绍了,这里就不水字了。

第二部分,getField方法上面有介绍了,这里就不水字了。

获得指定日期的毫秒数部分

源码的**DateTime.of(date).millisecond()**可拆解成两部分

DateTime.of(date)上面有介绍了,这里就不水字了。

第二部分,getField方法上面有介绍了,这里就不水字了。

是否为上午

源码的**DateTime.of(date).isAM()**可拆解成两部分

DateTime.of(date)上面有介绍了,这里就不水字了。

第二部分,getField方法上面有介绍了,这里就不水字了。

做了一个判断 Calendar.AM == getField(DateField.AM_PM)

是否为下午

源码的**DateTime.of(date).isPM()**可拆解成两部分

DateTime.of(date)上面有介绍了,这里就不水字了。

第二部分,getField方法上面有介绍了,这里就不水字了。

做了一个判断 Calendar.PM== getField(DateField.AM_PM)

返回今年

源码的**year(date())**可拆解成两部分

DateTime.date()

返回当前月份

源码的**month(date())**可拆解成两部分

DateTime.date()

返回当前月份

源码的**monthEnum(date())**可拆解成两部分

DateTime.date()

返回当前日期所在年份的第几周

源码的**weekOfYear(date())**可拆解成两部分

DateTime.date()

返回当前日期所在月份的第几周

源码的**weekOfMonth(date())**可拆解成两部分

DateTime.date()

返回当前日期是这个日期所在月份的第几天

源码的**dayOfMonth(date())**可拆解成两部分

DateTime.date()

返回当前日期是星期几

源码的**dayOfWeek(date())**可拆解成两部分

DateTime.date()

返回当前日期是星期几

源码的**dayOfWeekEnum(date())**可拆解成两部分

DateTime.date()

返回当前日期的小时数部分

源码的**hour(date(), is24HourClock)**可拆解成两部分

DateTime.date()

返回当前日期的分钟数部分

源码的**minute(date())**可拆解成两部分

DateTime.date()

返回当前日期的秒数部分

源码的**second(date())**可拆解成两部分

DateTime.date()

返回当前日期的毫秒数部分

源码的**millisecond(date())**可拆解成两部分

DateTime.date()

获得指定日期年份和季节
格式:[20131]表示2013年第一季度

源码的**yearAndQuarter(calendar(date))**可拆解成两部分

yearAndQuarter方法代码分析:

获取年份 cal.get(Calendar.YEAR)

获取季度 cal.get(Calendar.MONTH) / 3 + 1

然后通过StringBuilder拼接字符串

获得指定日期区间内的年份和季节

如上面代码所示,有个判空处理

然后,写了一个while循环,把符合条件的年份和季度存到LinkedHashSet里,存完一个年份和季度的字符串后,会给开始时间增加3个月,如果开始时间超出结束时间,让结束时间为开始时间,处理完后结束循环

Ⅸ java的string如何设置有效期

Java中的String对象咐早饥没有有效期相关的属性,因此不能单独设置有效期。如果需要实现类似的功能,可以使用Map来存储String对象并添加一个时间戳,以便衡返判断其睁纤是否过期。

Ⅹ 使用java,定义一个满足下列要求的Date类:1,用下面格式输出日期:日/月/年,

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
/**
* @author:
* @description:
*/
public class Test {
public static SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd"李裤);
public static Calendar c = Calendar.getInstance();
/**
* @param specifiedDay
* @return 获得指定日销燃期的后一天
*/
public static String getSpecifiedDayAfter(String specifiedDay) {
Date date = null;
try {
date = sdf.parse(specifiedDay);
} catch (ParseException e) {
e.printStackTrace();
}
c.setTime(date);
int day = c.get(Calendar.DATE);
c.set(Calendar.DATE, day + 1);
String dayAfter = sdf.format(c.getTime());
return dayAfter;
}
}
//Calendar 是一个亏扰虚工具类,里面有设置日期的一系列方法
//SimpleDateFormat 这个类对日期进行格式化

热点内容
php时间搜索 发布:2024-11-05 20:58:36 浏览:475
燕山大学编译原理期末考试题 发布:2024-11-05 20:13:54 浏览:523
华为电脑出现临时服务器 发布:2024-11-05 20:05:08 浏览:405
斗战神免费挖矿脚本 发布:2024-11-05 19:53:25 浏览:662
网吧服务器分别是什么 发布:2024-11-05 19:45:32 浏览:389
忍3无伤脚本 发布:2024-11-05 19:11:40 浏览:305
江苏云服务器散热器定制 发布:2024-11-05 18:50:15 浏览:721
投资分红网站源码 发布:2024-11-05 18:36:38 浏览:506
我的世界推荐适合萌新的服务器 发布:2024-11-05 18:30:03 浏览:581
c语言考级 发布:2024-11-05 18:16:54 浏览:506