Java·日期时间处理
时间:2022-05-03
本文章向大家介绍Java·日期时间处理,主要内容包括本文节选自《Netkiller Architect 手札》、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。
本文节选自《Netkiller Architect 手札》
1.4.3. Date
1.4.3.1. SimpleDateFormat
public static void main(String[] args) {
DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
//get current date time with Date()
Date date = new Date();
System.out.println(dateFormat.format(date));
//get current date time with Calendar()
Calendar cal = Calendar.getInstance();
System.out.println(dateFormat.format(cal.getTime()));
}
1.4.3.2. Timestamp
Timestamp timestamp = new Timestamp(System.currentTimeMillis());
Date date = new Date();
Timestamp timestamp = new Timestamp(date.getTime());
1.4.3.3. TimeZone
package cn.netkiller.example;
import java.sql.Timestamp;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.TimeZone;
public class TimeZoneTest {
public TimeZoneTest() {
// TODO Auto-generated constructor stub
}
public static void main(String[] args) {
// TODO Auto-generated method stub
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
TimeZone timeZone = TimeZone.getTimeZone("Asia/Harbin");
Date date = new Date();
Timestamp timestamp = new Timestamp(date.getTime());
System.out.println(timestamp);
timestamp.setHours(timestamp.getHours()+8);
System.out.println(timestamp);
simpleDateFormat.setTimeZone(TimeZone.getTimeZone("GMT"));
System.out.println(simpleDateFormat.format(date));
simpleDateFormat.setTimeZone(TimeZone.getTimeZone("Asia/Harbin"));
System.out.println(simpleDateFormat.format(date));
Calendar calendar = new GregorianCalendar();
calendar.setTime(date);
calendar.setTimeZone(timeZone);
System.out.println(simpleDateFormat.format(calendar.getTime()));
}
}
1.4.3.4. String to Date
package cn.netkiller.example;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class StringToDate {
public StringToDate() {
// TODO Auto-generated constructor stub
}
public static void main(String[] args) {
// TODO Auto-generated method stub
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String dateString = "2008-8-8 8:8:8";
try {
Date date = formatter.parse(dateString);
System.out.println(date);
System.out.println(formatter.format(date));
} catch (ParseException e) {
e.printStackTrace();
}
}
}
1.4.3.5. 比较两个日期与时间
package cn.netkiller.example;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
public class DateCompare {
public DateCompare() {
// TODO Auto-generated constructor stub
}
public void fun1() throws InterruptedException {
Date d1 = new Date();
Thread.sleep(5000);
Date d2 = new Date();
if (d1.before(d2)) {
System.out.println(String.format("%s < %s", d1.toString(), d2.toString()));
} else {
System.out.println(String.format("%s > %s", d1.toString(), d2.toString()));
}
if (d2.after(d1)) {
System.out.println(String.format("%s > %s", d2.toString(), d1.toString()));
}
System.out.println(String.format("%s : %s => %d", d2.toString(), d1.toString(), d1.compareTo(d2)));
System.out.println(String.format("%s : %s => %d", d1.toString(), d2.toString(), d2.compareTo(d1)));
}
public void fun2() throws InterruptedException {
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date1 = new Date();
Date date2 = new Date();
String s1 = dateFormat.format(date1);
String s2 = dateFormat.format(date2);
System.out.println(String.format("%s : %s => %d", s1, s2, s1.compareTo(s2)));
date1 = new Date();
Thread.sleep(5000);
date2 = new Date();
s1 = dateFormat.format(date1);
s2 = dateFormat.format(date2);
System.out.println(String.format("%s : %s => %d", s1, s2, s1.compareTo(s2)));
System.out.println(String.format("%s : %s => %d", s2, s1, s2.compareTo(s1)));
System.out.println();
}
public static void main(String[] args) throws InterruptedException {
// TODO Auto-generated method stub
DateCompare dateCompare = new DateCompare();
dateCompare.fun1();
System.out.println();
dateCompare.fun2();
}
}
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- crontab定时任务不执行的原因分析与解决方法
- 在Linux中安装ASPNET.Core3.0运行时的示例代码
- linux Bash脚本判别使用者的身份方法示例
- 配置Linux使用LDAP用户认证的方法
- linux Dig命令使用大全
- Ubuntu虚拟机下使用cutecom进行串口通信的方法
- 虚拟机Linux系统忘记密码修改root或其他用户密码的方法
- 在 RHEL8 /CentOS8 上建立多节点 Elastic stack 集群的方法
- linux 搭建svn服务器的方法步骤
- linux 下隐藏进程的一种方法及遇到的坑
- Ubuntu 18.04中截图工具shutter的编辑按钮不可用的解决办法
- Linux服务器利用防火墙iptables策略进行端口跳转的方法
- Linux下PHP网站服务器安全配置加固防护方法【推荐】
- CentOS8 yum/dnf 配置国内源的方法
- 浅析在 RHEL8 配置静态 IP 地址的不同方法