Java各种时间转换

32 篇文章 0 订阅

获取当前时间(Date类型)

import java.util.Date;
 
public static void main(String[] args) {
	Date nowDate = new Date();
	System.out.println(nowDate);  
}

输出:Mon Apr 12 16:09:29 CST 2021

获取当前时间(Instant类型)

import java.time.Instant;
import java.util.concurrent.TimeUnit;
 
public static void main(String[] args) {
	//东八区当前时间
	Instant nowDate = Instant.now().plusMillis(TimeUnit.HOURS.toMillis(8));
	System.out.println(nowDate);
}

输出:2021-04-12T16:33:18.334Z

获取当前时间毫秒数(System获取、Date获取、Calendar获取、Instant获取)

import java.time.Instant;
import java.util.Calendar;
import java.util.Date;
import java.util.concurrent.TimeUnit;
 
public static void main(String[] args) {
	//方法一
	System.out.println(System.currentTimeMillis());
	//方法二
	Date date = new Date();
	System.out.println(date.getTime());
	//方法三
	Calendar calendar = Calendar.getInstance();
	long time = calendar.getTimeInMillis();
	System.out.println(time);
	//方法四
	Instant now = Instant.now().plusMillis(TimeUnit.HOURS.toMillis(8));
	System.out.println(now.toEpochMilli());
}

输出:1618217202418 1618217202419 1618217202425 1618246002438

获取当前年月(Calendar类型)

import java.util.Calendar;
 
public static void main(String[] args) {
	Calendar cal = Calendar.getInstance();
	//int year = cal.get(Calendar.YEAR);
	//int month = cal.get(Calendar.MONTH ) + 1;
	//int day = cal.get(Calendar.DATE);
	//拼接
	String nowDate = year + "-" + month + "-" + day;
	System.out.println(nowDate);
}

输出:2021-4

获取当前年月(Calendar类型),月份自动填0

import java.util.Calendar;
 
public static void main(String[] args) {
	Calendar cal = Calendar.getInstance();
	//int year = cal.get(Calendar.YEAR);
	//int month = cal.get(Calendar.MONTH ) + 1;
	String month2 = month<10 ? "0" + month : String.valueOf(month);
	//int day = cal.get(Calendar.DATE);
	//拼接
	String nowDate = year + "-" + month2 + "-" + day;
	System.out.println(nowDate);
}

输出:2021-04

获取当前日期(LocalDate类型)

import java.time.LocalDate;
 
public static void main(String[] args) {
	LocalDate today = LocalDate.now();
	System.out.println(today);
}

输出:2021-04-12

获取当前时间(LocalDateTime类型)

import java.time.LocalDateTime;
 
public static void main(String[] args) {
	LocalDateTime today = LocalDateTime.now();
	System.out.println(today);
}

输出:2021-04-12T16:37:25.244

获取当前时间(Timestamp类型)

import java.sql.Timestamp;
import java.text.SimpleDateFormat;
 
public static void main(String[] args) {
	SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
	Timestamp timestamp = new Timestamp(System.currentTimeMillis());
	String now = sdf.format(timestamp);
	System.out.println(now);
}

输出:2021-04-12 17:06:33

Date类型 与 String类型转换

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
 
public static void main(String[] args) throws ParseException {
	SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
	//Date转String
	Date date = new Date();
	String now = sdf.format(date);
	System.out.println(now);
	//String转Date
	Date now2 = sdf.parse("2021-04-12 17:30:54");
	System.out.println(now2);
}

输出:2021-04-12 16:55:59

DateTime类型 转 String类型

public static void main(String[] args) {
	DateTime dateTime = new DateTime();
	String nowTime = dateTime.toString("yyyy-MM-dd HH:mm:ss");
	System.out.println(nowTime);
}

输出:2021-04-12 16:54:09

Date类型 转 Instant类型

import java.time.Instant;
import java.util.Date;
 
public static void main(String[] args) {
	Date date = new Date();
	Instant instant = date.toInstant();
	System.out.println(instant);
}

输出:2021-04-12 16:54:09

DateTime类型 与 Calendar类型转换

import java.util.Calendar;
import java.util.Date;
 
public static void main(String[] args) {
	//Calendar转化为Date
	Calendar cal = Calendar.getInstance();
	Date date = cal.getTime();
	System.out.println(date);
	//Date转化为Calendar
	Date date2=new Date();
	Calendar cal2 = Calendar.getInstance();
	cal.setTime(date2);
	System.out.println(cal2);
}

输出:Mon Apr 12 17:27:11 CST 2021
输出:java.util.GregorianCalendar[time=1618219631202,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id=“Asia/Shanghai”,offset=28800000,dstSavings=0,useDaylight=false,transitions=29,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2021,MONTH=3,WEEK_OF_YEAR=16,WEEK_OF_MONTH=3,DAY_OF_MONTH=12,DAY_OF_YEAR=102,DAY_OF_WEEK=2,DAY_OF_WEEK_IN_MONTH=2,AM_PM=1,HOUR=5,HOUR_OF_DAY=17,MINUTE=27,SECOND=11,MILLISECOND=202,ZONE_OFFSET=28800000,DST_OFFSET=0]

String类型 与 Instant类型转换

import java.time.Instant;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.format.DateTimeFormatter;
import java.util.Locale;
 
public static void main(String[] args) {
	//Instant转String
	DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
	Instant instant = Instant.now();
	ZoneId zoneId = ZoneId.systemDefault();
	LocalDateTime localDateTime = LocalDateTime.ofInstant(instant, zoneId);
	String now = dtf.format(localDateTime);
	System.out.println(now);
 
	//String转Instant
	String string = "2021-04-12T23:59:59.123Z";
	DateTimeFormatter dtf2 = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'", Locale.FRANCE);
	LocalDateTime date = LocalDateTime.parse(string, dtf2);
	System.out.println(date);
}

输出:2021-04-12 17:01:33

LocalDate类型 转换 Date类型

import java.time.Instant;
import java.time.LocalDate;
import java.time.ZoneId;
import java.util.Date;
 
public static void main(String[] args) {
	LocalDate localDate = LocalDate.now();
	ZoneId zone = ZoneId.systemDefault();
	Instant instant = localDate.atStartOfDay().atZone(zone).toInstant();
	Date date = Date.from(instant);
	System.out.println(date);
}

输出:Mon Apr 12 00:00:00 CST 2021

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Wis57

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值