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产品的...
很棒的 Java精选的优秀 Java 框架、库和软件列表。内容项目建筑学Bean 映射建造字节码操作缓存命令行界面代码分析代码覆盖率代码生成器编译器-编译器计算机视觉配置约束满足问题求解器CSV数据结构数据库日期和时间...
在项目开始前,明确每个人的职责,确保公用资源的统一管理,可以提高效率并减少冲突。作为组长,不仅要完成个人任务,还需要协调团队合作,确保项目的顺利进行。 2. **功能设计与测试心得** - **登录功能**:登录...
在描述中提到的"公用类1",可能是指一个通用的工具类,包含了一系列常用的方法,例如字符串处理、日期时间操作、数学计算等,供开发者在编写代码时调用。这样的类通常被设计成可以复用的,以提高代码的可维护性和...
《个人公用事业:Java编程中的实用工具》 在IT领域,个人公用事业指的是开发者为了提高工作效率,自定义的一系列小型工具或库。这些工具通常针对特定任务,如数据处理、文件操作、日志记录等,旨在简化编程过程,...
某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中加密,规则如下:每位数字加5,除以10取余代替该数字,再将第一位和第四位互换,第二位和第三位互换。给出具体的实现代码。 **解题思路**: - 将输入...