public class BusinessDate {
public BusinessDate() {
}
/**
* 取得当天日期,格式 2009-02-11
* @return
*/
public static String getToday() {
java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("yyyy-MM-dd");
Calendar cl = new GregorianCalendar();
return sdf.format(cl.getTime());
}
/**
* 取得当天日期时间,格式 2009-02-11 23:9:21
* @return
*/
public static String getTodaytime() {
Calendar cl = new GregorianCalendar();
return getToday() + " " + cl.get(Calendar.HOUR_OF_DAY) + ":" + cl.get(Calendar.MINUTE) + ":" + cl.get(Calendar.SECOND) + " ";
}
/**
* 取得当前时间,格式 23:12:20
* @return
*/
public static String getTime() {
Calendar cl = new GregorianCalendar();
return cl.get(Calendar.HOUR_OF_DAY) + ":" + cl.get(Calendar.MINUTE) + ":" + cl.get(Calendar.SECOND) + " ";
}
/**
* 取得当前小时
* @return
*/
public static int getHour() {
Calendar cl = new GregorianCalendar();
return cl.get(Calendar.HOUR_OF_DAY);
}
/**
* 取得当前日期 格式为20090211
* @return
*/
public static String getNoFormatToday() {
java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("yyyyMMdd");
Calendar cl = new GregorianCalendar();
return sdf.format(cl.getTime());
}
/**
* 取得当前时间 格式为231611
* @return
*/
public static String getNoFormatTime() {
java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("HHmmss");
Calendar cl = new GregorianCalendar();
return sdf.format(cl.getTime());
}
/**
* 取得当前年份
* @return
*/
public static String getYear() {
return BusinessDate.getNoFormatToday().substring(0, 4);
}
/**
* 取得当前月份
* @return
*/
public static String getMonth() {
return BusinessDate.getNoFormatToday().substring(4, 6);
}
/**
* 取得当前日
* @return
*/
public static String getDay() {
return BusinessDate.getNoFormatToday().substring(6,8 ) ;
}
/**
* 返回昨天的日期 格式2009-02-10
* @return
*/
public static String getYesterday() {
String strYesterday = "";
Calendar cale = null;
cale = new GregorianCalendar();
cale.add(Calendar.DATE, -1);
strYesterday = BusinessDate.getStrByCalendar(cale);
return strYesterday;
}
public static String getStrByCalendar(Calendar cale) {
return (new java.text.SimpleDateFormat("yyyy-MM-dd")).format(cale.getTime());
}
/**
* 日期字符串的格式转换,例如"2009-02-11"转换为2009年2月11日
* @param sDate
* @return
*/
public static String getChnDateString(String sDate) {
if (sDate == null) {
return null;
}
sDate = sDate.trim();
if (sDate.length() == 7) {
sDate += "-01";
}
StringTokenizer st = new StringTokenizer(sDate, "-");
int year = 2100;
int month = 0;
int day = 1;
try {
year = Integer.parseInt(st.nextToken());
month = Integer.parseInt(st.nextToken()) - 1;
day = Integer.parseInt(st.nextToken());
} catch (Exception e) {
e.printStackTrace();
}
Calendar cl = new GregorianCalendar(year, month, day);
return cl.get(Calendar.YEAR) + "年" + (cl.get(Calendar.MONTH) + 1) + "月" + cl.get(Calendar.DATE) + "日";
}
/**
* 取得某年某月的最后一天
* @param year
* @param month
* @return
*/
public static String getMaxDayOfMonth(int year, int month) {
Calendar cal = new GregorianCalendar(year, month - 1, 1);
cal.set(Calendar.DAY_OF_MONTH, cal.getActualMaximum(Calendar.DAY_OF_MONTH));
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
return sdf.format(cal.getTime());
}
/**
* 取得某年某月的第一天
* @param year
* @param month
* @return
*/
public static String getMinDayOfMonth(int year, int month) {
Calendar cal = new GregorianCalendar(year, month - 1, 1);
cal.set(Calendar.DAY_OF_MONTH, cal.getActualMinimum(Calendar.DAY_OF_MONTH));
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
return sdf.format(cal.getTime());
}
/**
* 取得当天的中文日期,像2006年11月28日 星期二
* @return
*/
public static String getChineseToDay() {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 E", Locale.CHINESE);
Calendar cl = new GregorianCalendar();
return sdf.format(cl.getTime());
}
/**
* 取得当天的中文日期,像2006年11月28日 星期二 下午05:06
* @return
*/
public static String getChineseToDayTime() {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 E a", Locale.CHINESE);
Calendar cl = new GregorianCalendar();
return sdf.format(cl.getTime());
}
/**
* 根据字符串,取得日期类
* @param sDate
* @return
*/
public static Calendar getDate(String sDate) {
if (sDate == null) {
return null;
}
sDate = sDate.trim();
if (sDate.length() == 7) {
sDate += "-01";
}
StringTokenizer st = new StringTokenizer(sDate, "-");
int year = 2100;
int month = 0;
int day = 1;
try {
year = Integer.parseInt(st.nextToken());
month = Integer.parseInt(st.nextToken()) - 1;
day = Integer.parseInt(st.nextToken());
} catch (Exception e) {
e.printStackTrace();
}
return new GregorianCalendar(year, month, day);
}
/**
* 根据日期类取得日期的字符串形式
* @param sDate
* @return
*/
public static String getDateString(Calendar sDate) {
if (sDate == null) {
return "";
}
return (new java.text.SimpleDateFormat("yyyy-MM-dd")).format(sDate.getTime());
}
/**根据日期类取年月的字符串形式
* @param sDate
* @return
*/
public static String getYearMonth(Calendar sDate) {
if (sDate == null) {
return "";
}
return (new java.text.SimpleDateFormat("yyyy-MM")).format(sDate.getTime());
}
/**比较两个日期类型的字符串,格式为(yyyy-mm-dd)
* 如果cale1大于cale2,返回1
* 如果cale1小于cale2,返回-1
* 如果相等,返回0
* 如果格式错误,返回-2
* @param cale1
* @param cale2
* @return
*/
public static int compareCalendar(String cale1, String cale2) {
Calendar calendar1 = getDate(cale1);
Calendar calendar2 = getDate(cale2);
if (calendar1 == null || calendar2 == null) {
return -2;
}
return calendar1.compareTo(calendar2);
}
}
分享到:
相关推荐
在Java中,日期时间处理类的情况有所不同。Java 8之前,主要使用`java.util.Date`和`java.text.SimpleDateFormat`进行日期时间的处理,但这两个类的设计被认为不够理想。自Java 8起,引入了`java.time`包,其中包括`...
这是一个比较全面的处理日期时间的工具类,利用该工具类可以得到你想要的日期时间。里面代码简洁,方法已经封装好,只需要调用即可。自己可以将其打成jar包来用
在Java编程语言中,日期处理是一项常见的任务,用于管理和操作日期和时间。为了方便开发者,Java提供了多种工具类来处理日期。"日期处理工具类"通常是指一个自定义的类,它封装了一些常用的方法,例如日期格式化、...
针对时间日期各种格式之间转换等操作的公用类。
- `Calendar`是一个抽象类,提供了一种灵活的方式来处理日期和时间。它比`Date`类功能更强大,支持更多日期/时间字段的设置和获取。 - 由于`Calendar`是抽象类,不能直接实例化,通常通过`getInstance()`静态方法...
本源码资源提供了Java中的日期时间处理类相关内容,包括日期、时间和时区的操作方法和示例。它涵盖了Java编程中常用的日期时间处理需求以及如何使用日期时间类来解决这些问题。 适用人群 本源码资源适用于具备一定...
在C++编程中,日期处理是一项常见的任务,特别是在开发涉及时间序列分析、日志记录或者时间敏感的应用程序时。...在实际开发中,还可以考虑集成标准库中的`chrono`模块,以利用其强大的日期和时间处理能力。
Java日期时间处理在编程中是一项常见任务,但Java标准库中的`java.util.Date`和`Calendar`类在使用上往往被认为复杂且不直观。为了解决这个问题,`date4j`库应运而生,它提供了更为简洁和现代的方式来处理日期和时间...
3. **时间戳**:时间戳是一种将时间编码为数值的方法,常用于数据库记录、日志文件以及网络通信中,因为它们比传统的日期时间格式更节省空间且便于排序和比较。 4. **格式化和解析**:能够将日期和时间从一种格式...
对于新的Java 8及以上版本,推荐使用`java.time`包中的API,它们提供了更直观、强大的日期时间处理功能。 总的来说,Java提供了多种处理日期时间的工具,但为了保持代码的现代性和可维护性,应尽可能地使用`java....
通过使用`DateUtil`这样的工具类,开发者可以避免重复编写日期时间处理的代码,提高代码的可读性和维护性。然而,值得注意的是,Java 8引入了`java.time`包,提供更强大的日期时间API,包括`LocalDate`, `LocalTime`...
ThreeTen-Backport并不是对JSR-310的完整实现,但包含了大部分关键类和方法,使得开发者可以在较旧的Java版本中享受到与Java 8相似的日期时间处理能力。例如,它提供了`java.time.LocalDate`、`java.time....
获取日期的时间。默认HH:mm:ss格式。失败返回null。 获取日期的星期。失败返回null。 获取两个日期相差的天数 。 获取两个日期相差的毫秒数 。 获得两个日期之间的连续日期.。 将时间转换为时间戳。 获取...
通过这样的时间处理类,开发者可以在项目中轻松地实现各种时间相关的功能,而无需重复编写相同的代码。这不仅可以提高开发效率,也有助于保持代码的整洁和一致性。在实际使用时,只需要实例化这个类,并调用相应的...
同时,`java.time`包还提供了一个`DateTimeFormatter`类用于日期时间的格式化和解析。 在自定义的`DateUtil.java`工具类中,通常会包含以下功能: 1. **日期时间格式化与解析**:通过`SimpleDateFormat`类,可以...
**Time4J库详解** Time4J是一个专为Java开发者设计的高级时间和日期处理库,它弥补了Java标准库在日期时间操作上的不足,提供...通过深入理解Time4J的API和用法,开发者可以编写出更加优雅和健壮的日期时间处理代码。
综上所述,“易语言格式化时间和日期”是一个涵盖易语言基础、日期时间处理、源码解析等多个方面的综合性课题,对于掌握易语言编程及实际应用有着重要的价值。通过深入学习和实践,开发者可以更好地应对实际项目中...
总之,Delphi提供了丰富的日期时间处理功能,结合`FuncU.pas`中的自定义函数,开发者可以轻松地处理各种日期时间需求。对于初学者,理解和掌握这些基础知识,将有助于提升编程技能,并能更好地应对实际开发中的挑战...