亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Industrial programming >> java

Java 日期和时间:SimpleDateFormat、当前日期和比较

在本教程中,您将学习——

让我们首先了解由 Date 组成的参数 .

它将主要包含——

  • (2 位或 4 位)
  • 月份 (可以是 2 位数字,月份的前 3 个字母或月份的整个单词)。
  • 日期 (这将是当月的实际日期)。
  • (给定日期的那一天 - 例如周日、周一、周二等)

关于计算机系统,有很多参数可用于与日期相关联。我们将在本主题的后面部分看到它们。

在 Java 中显示日期

现在让我们看看 Java 是如何为我们提供日期的。首先,我们将了解如何获取当前日期-

Java在java.util包下提供了一个Date类,该包提供了几种玩弄日期的方法。

您可以通过调用 Date 类的构造函数来使用 Date 对象,如下所示:

import java.util.Date;
class Date_Ex1 {
 public static void main(String args[]) {
  // Instantiate a Date object by invoking its constructor
  Date objDate = new Date();
  // Display the Date & Time using toString()
  System.out.println(objDate.toString());
 }
}

输出:

Wed Nov 29 06:36:22 UTC 2017

上面例子中的日期默认格式显示,如果我们想用另一种格式显示日期和时间,首先要了解日期的格式。

SimpleDateFormat:解析和格式化日期

想必大家都在幼儿园学过字母……

现在让我们学习日期格式的 ABC。

字母 日期或时间组件 示例
G 时代代号 广告
年份 2018
M 一年中的月份 7 月或 7 月或 07
w 一年中的一周 27
W 一个月中的一周 2
D 一年中的一天 189
d 一个月中的一天 10
F 一个月的星期几 2
E 星期几的名称 星期二或星期二
星期几(1 =星期一,...,7 =星期日) 1
一个 上午/下午标记 下午
H 一天中的小时 (0-23) 0
k 一天中的小时 (1-24) 24
K 上午/下午 (0-11) 小时 0
h 上午/下午 (1-12) 小时 12
m 小时分钟 30
s 一分钟秒 55
S 毫秒 978
z 时区 太平洋标准时间;太平洋标准时间; GMT-08:00
Z 时区 -0800
X 时区 -08 或 -0800 或 -08:00

不用担心,您不需要记住所有这些,它们可以在您需要格式化特定日期的任何时候参考。

SimpleDateFormat如何使用?

Java 提供了一个名为 SimpleDateFormat 的类,它允许您根据需要格式化和解析日期。

可以用上面的字符来指定格式-

例如:

1) 所需日期格式:2012.10.23 20:20:45 PST

指定的适当日期格式将是 - yyyy.MM.dd HH:mm:ss zzz

2) 所需日期格式:2012 年 5 月 23 日上午 9:30:00

指定的适当日期格式为-hh:mm:ss a dd-MMM-yyyy

提示: 注意字母大小写。如果你把 M 和 m 弄错了,你会得到不想要的结果!

让我们通过一个代码示例来了解这一点。

import java.text.SimpleDateFormat;
import java.util.Date;
class TestDates_Format {
 public static void main(String args[]) {
  Date objDate = new Date(); // Current System Date and time is assigned to objDate
  System.out.println(objDate);
  String strDateFormat = "hh:mm:ss a dd-MMM-yyyy"; //Date format is Specified
  SimpleDateFormat objSDF = new SimpleDateFormat(strDateFormat); //Date format string is passed as an argument to the Date format object
  System.out.println(objSDF.format(objDate)); //Date formatting is applied to the current date
 }
}

输出:

Wed Nov 29 06:31:41 UTC 2017
06:31:41 AM 29-Nov-2017

比较日期示例

比较日期最有用的方法是使用方法 – compareTo()

让我们看看下面的代码片段-

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

class TestDates_Compare {
 public static void main(String args[]) throws ParseException {

  SimpleDateFormat objSDF = new SimpleDateFormat("dd-mm-yyyy");
  Date dt_1 = objSDF.parse("20-08-1981");
  Date dt_2 = objSDF.parse("12-10-2012");

  System.out.println("Date1 : " + objSDF.format(dt_1));
  System.out.println("Date2 : " + objSDF.format(dt_2));

  if (dt_1.compareTo(dt_2) > 0) {
   System.out.println("Date 1 occurs after Date 2");
  } // compareTo method returns the value greater than 0 if this Date is after the Date argument.
  else if (dt_1.compareTo(dt_2) < 0) {
   System.out.println("Date 1 occurs before Date 2");
  } // compareTo method returns the value less than 0 if this Date is before the Date argument;
  else if (dt_1.compareTo(dt_2) == 0) {
   System.out.println("Both are same dates");
  } // compareTo method returns the value 0 if the argument Date is equal to the second Date;
  else {
   System.out.println("You seem to be a time traveller !!");
  }
 }
}

输出:

Date1 : 20-08-1981
Date2 : 12-10-2012
Date 1 occurs before Date 2

java

  1. 电压和电流计算
  2. 如何在 Python 中获取当前日期和时间?
  3. Python获取当前时间
  4. Java 运算符
  5. Java 评论
  6. Java for-each 循环
  7. Java 接口
  8. Java - 日期和时间
  9. C++ 日期和时间
  10. Java 10 - 基于时间的发布版本控制
  11. Java 8 - 新的日期/时间 API
  12. Python - 日期和时间