import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* @author ygq18@tom.com
*
* TODO 要更改此生成的类型注释的模板,请转至 窗口 - 首选项 - Java - 代码样式 - 代码模板
*/
public class DateUtil {
public static final int MILLISECONDS_PER_SECOND = 1000;
public static final int MILLISECONDS_PER_DAY = 86400000;
public static final int MILLISECONDS_PER_HOUR = 3600000;
public static final int MILLISECONDS_PER_MINUTE = 60000;
/*
* 日期按指定格式转化成字符串
*/
public static String dateToStr(String aMask,Date date){
SimpleDateFormat df = new SimpleDateFormat(aMask);
String dateAsString = df.format(date);
return dateAsString;
}
public static String getCurrentTime(){
return getToday("HH:mm:ss");
}
/*
* 按指定格式返回当天日期的字符串形式
*/
public static String getToday(String aMask){
Date today = new Date();
String todayAsString = dateToStr(aMask,today);
return todayAsString;
}
/*
* 按默认格式返回当天日期的字符串形式
*/
public static String getToday(){
return getToday("yyyy-MM-dd");
}
/*
* 把字符串按指定格式转化成Date
*/
public static Date strToDate(String aMask,String strDate) {
SimpleDateFormat format = new SimpleDateFormat(aMask);
Date date = null;
try {
date = format.parse(strDate);
} catch (ParseException e) {
e.printStackTrace();
}
return date;
}
/*
* 把字符串按默认格式转化成Date
*/
public static Date strToDate(String strDate) {
return strToDate("yyyy-MM-dd",strDate);
}
/*
* 日期相减得到的毫秒数
*/
public static long sub(String aMask,String strBeginDate, String strEndDate) {
long dateRange=0;
int num = 0;
Date beginDate = strToDate(aMask,strBeginDate);
Date endDate = strToDate(aMask,strEndDate);
dateRange = endDate.getTime() - beginDate.getTime();
return dateRange;
}
/*
* 日期相减得到的毫秒数
*/
public static long sub(String strBeginDate, String strEndDate) {
long dateRange=0;
int num = 0;
Date beginDate = strToDate(strBeginDate);
Date endDate = strToDate(strEndDate);
dateRange = endDate.getTime() - beginDate.getTime();
return dateRange;
}
/*
* 日期相减得到的天数
*/
public static String subToDay(String strBeginDate, String strEndDate){
String dayNum = "";
long dateRange = sub(strBeginDate,strEndDate);
dayNum = ""+(dateRange/MILLISECONDS_PER_DAY);
return dayNum;
}
/*
* 日期相减得到的秒数
*/
public static String subToSecond(String aMask,String strBeginDate, String strEndDate){
String secNum = "";
long dateRange = sub(aMask,strBeginDate,strEndDate);
secNum = ""+(dateRange/MILLISECONDS_PER_SECOND);
return secNum;
}
public static String subToSecond(String strBeginDate, String strEndDate){
String secNum = "";
long dateRange = sub("yyyy-MM-dd HH:mm:ss",strBeginDate,strEndDate);
secNum = ""+(dateRange/MILLISECONDS_PER_SECOND);
return secNum;
}
public static void main(String[] args) {
System.out.println("按默认格式返回今天日期:"+getToday());
System.out.println("按指定格式返回今天日期:"+getToday("yyyy-MM-dd HH:mm:ss"));
System.out.println("日期相差天数:"+subToDay("2006-08-02 23:02:01", "2006-08-03 01:02:01"));
System.out.println("日期相差秒数:"+subToSecond("2006-08-02 23:02:01", "2006-08-03 01:02:01"));
System.out.println("当前时间:"+getCurrentTime());
}
}
分享到:
相关推荐
6. **时间类**:Java 8引入了新的日期和时间API(java.time包),它提供了更直观、更易于使用的日期、时间、时区处理功能,替代了之前的java.util.Calendar和java.util.Date。 7. **数据库连接池**:例如,C3P0、...
common.java 一个公用类 derive.java 一个测试用子类 differ.java 测试静态方法与实例方法之间的区别 forefather.java 一个简单的基类 grandson.java 上面这个类的子类 hasConstructor.java 拥有构造器的类 ...
Hutool是项目中“util”包友好的替代,它节省了开发人员对项目中公用类和公用工具方法的封装时间 一个Java基础工具类,对文件、流、加密解密、转码、正则、线程、XML等JDK方法进行封装,组成各种Util工具类,同时...
5. **系统日期**:获取系统当前日期和时间通常使用`java.time`包的`Clock`类,它可以提供系统时钟、固定时钟或模拟时钟。`ZonedDateTime`可以获取带时区的日期时间,`Instant`则表示从Unix纪元开始的秒数。 6. **...
1. **Java工具类库**: 在Java开发中,工具类库通常是一系列静态方法集合,提供了各种通用功能,如字符串操作、日期时间处理、数学计算、IO操作等。Watson项目可能包含了这些常见的工具类,帮助开发者快速实现常见...
* public:公共的、公用的 * static:静的、静态的、静止的 * void:空的 * main:主要的、重要的 * class:类 * system:系统、方法 * out:出现、出外 * print:打印 * eclipse:Java编程软件 这些单词都是Java...
8. **设备管理**:登记和追踪设备的使用情况,如设备型号、购置日期、维护记录等,确保设备的正常运行。 9. **实验室管理**:整合实验室资源,包括实验室的设备配置、实验项目,以及实验室的预约和使用情况。 此外...
2. **类库共享**:开发者可以创建包含公用类的JAR文件,供多个项目共同使用,减少代码重复。 3. **安全**:JAR文件可以被数字签名,确保代码来源的可信性,防止恶意篡改。 4. **运行效率**:Java虚拟机(JVM)可以...
上述文件中列出了一系列Java编程练习题,这些题目覆盖了Java编程的基础知识,适合初学者进行编程练习。下面我将详细解释每个练习题的知识点。 1. 兔子繁殖问题(斐波那契数列) 题目描述了著名的斐波那契数列问题,...
JAR(Java Archive)是Java平台特有的归档文件格式,它用于收集多个类文件和其他资源,如图片、声音或文本文件,以便一起部署。JAR文件的主要作用有:封装源代码、压缩代码以减少传输大小、提供版本控制、执行安全...
3. **DateUtils**: 日期和时间操作的工具类,提供了格式化日期、比较日期、解析日期等功能,使得日期处理更为便捷。 4. **FileUtils**: 文件操作类,包括创建、删除、移动、重命名文件,以及目录操作,有助于简化...
- **UtilityObjects的使用**:UtilityObjects是ADF中用于封装公用功能的对象,如日期处理、字符串操作等。合理利用UtilityObjects,可以显著提高应用程序的开发效率和代码质量。 #### 结语 ArcGIS Server Java ADF...
- **public** ['pʌblik]:表示“公共的”或“公用的”,在 Java 中用于修饰类、方法或变量,表明它们可以被任何其他类访问。 - **static** ['stætik]:意为“静的”、“静态的”或“静止的”,用来修饰类、方法或...
Java开发技术大全 电子版 第1篇Java基础知识入门....14.13.14“时间/日期”菜单的响应代码570 14.13.15“自动换行”菜单的响应代码570 14.13.16“查找…”菜单的响应代码570 14.13.17“设置字体…”菜单...
第一段工作经历中,主要负责总参61所公用数据支撑与信息服务系统的开发和维护,担任JAVA高级软件开发工程师一职,并负责门户系统的建设和信息发布系统的开发。第二段工作经历中,主要负责神州泰岳Ultra-IAM产品的...
在项目开始前,明确每个人的职责,确保公用资源的统一管理,可以提高效率并减少冲突。作为组长,不仅要完成个人任务,还需要协调团队合作,确保项目的顺利进行。 2. **功能设计与测试心得** - **登录功能**:登录...
在描述中提到的"公用类1",可能是指一个通用的工具类,包含了一系列常用的方法,例如字符串处理、日期时间操作、数学计算等,供开发者在编写代码时调用。这样的类通常被设计成可以复用的,以提高代码的可维护性和...
《个人公用事业:Java编程中的实用工具》 在IT领域,个人公用事业指的是开发者为了提高工作效率,自定义的一系列小型工具或库。这些工具通常针对特定任务,如数据处理、文件操作、日志记录等,旨在简化编程过程,...
某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中加密,规则如下:每位数字加5,除以10取余代替该数字,再将第一位和第四位互换,第二位和第三位互换。给出具体的实现代码。 **解题思路**: - 将输入...
3. **日期和时间处理**:Java提供`java.time`包,包含`LocalDateTime`, `Duration`等类,可以用来处理日期、时间以及时间间隔,如计算飞行时间。例如,用户可能输入出发时间和到达时间,程序将两者相减得到飞行时间...