算出 20 天后是周几?并用 2012-01-20 的方式输出

本文介绍如何使用Java的Calendar和Date类来获取当前日期,并计算20天后的具体日期,同时展示了如何将日期格式化为2012-01-20的形式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近遇到一道题目,算出 20 天后是周几?并用 2012-01-20 的方式输出。在Eclipse上动手做了一下。

1,首先,应该获取当前时间。两种方法:
(1)Calender方法

Calendar c=Calendar.getInstance();
System.out.println(c.getTime());

(2)Date方法

Date d=new Date();
System.out.println(d);

2,考虑如何获取20天后的时间
(1)使用Calender方法

Calendar c=Calendar.getInstance();
c.add(Calendar.DATE,20);
System.out.println(c.getTime());

(2)使用Date计算方法

Date d = new Date();
long t1 = d.getTime()+(20*24*60*60*1000);
Date date = new Date(t1);
System.out.println(date);

此时我们得到了20天后是周几的答案
接下来要对时间显示方式进行改造,也是两种方法:
(1)SimpleDateFormat方法

SimpleDateFormat format1=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");//设置日期格式
String time1=format1.format(c.getTime());//此处c.getTime()也可以写为date
System.out.println(time1);

(2)时间戳Timestamp方法

DateFormat format2=DateFormat.getDateTimeInstance();//设置输出时间的格式,getDateTimeInstance()自动为yyyy-MM-dd hh:mm:ss格式
String str=format2.format(t1);//格式化时间,返回字符串类型  
Date ts=(Date)Timestamp.valueOf(str);//利用时间戳把字符串转化成时间 
System.out.println(format2.format(ts));  

此时就得到了答案。
写在一起大家去复制验证~

import java.sql.Timestamp;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

public class test {


    public static void main(String[] args) {


    Calendar c=Calendar.getInstance();
    c.add(Calendar.DATE,20);

    SimpleDateFormat format1=newSimpleDateFormat("yyyy-MM-dd hh:mm:ss");  
    String time1=format1.format(c.getTime());  
    System.out.println(c.getTime());
    System.out.println(time1);

System.out.println("--------------------------------------");

  Date d = new Date();
  long t1 = d.getTime()+(20*24*60*60*1000);
  Date date = new Date(t1);
  System.out.println(date);
  DateFormat format2=DateFormat.getDateTimeInstance();//设置输出时间的格式,getDateTimeInstance()自动为yyyy-MM-dd hh:mm:ss格式
  String str=format2.format(t1);//格式化时间,返回字符串类型  
  Date ts=(Date)Timestamp.valueOf(str);//利用时间戳把字符串转化成时间 
  System.out.println(format2.format(ts)); 
    }
}

直接上控制台截图
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值