关于Java日期的两道例题

例题1查找十天前的日期。

package date;

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

public class Date01 {

	public static void main(String[] args) throws ParseException {
		Scanner sca = new Scanner(System.in);
		System.out.println("请输入一个日期:" );
		String str = sca.nextLine();
		SimpleDateFormat s = new SimpleDateFormat("yyy-MM-dd");
		Date d = s.parse(str);         //格式转换  将string转为date
		Calendar c = Calendar.getInstance();   //Calendar 类是一个抽象类,为操作日历字段(例如获得几天后的日期)提供了一些方法.(c.add)
		c.setTime(d);
		c.add(Calendar.DAY_OF_MONTH, -10);
		SimpleDateFormat time = new SimpleDateFormat("yyy-MM-dd");
		System.out.println(time.format(c.getTime()));
		//String time = s.format(c.getTime());
               //System.out.println("十天前的时期为:"+time);
	}

}

例二时间差问题
package date;

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

public class Date02 {

    public static void main(String[] args) throws ParseException {
        Scanner sca = new Scanner(System.in);
        System.out.println("请输入一个日期:");
        String str = sca.nextLine();
        SimpleDateFormat s = new SimpleDateFormat("yyy-MM-dd HH:mm:ss");
        Date d = s.parse(str);
        long start = d.getTime();      //开始时间
        long end = System.currentTimeMillis();      //系统时间
        long result = end-start;
        long time = result/(1000*60);
        if(time < 60) {
            System.out.println(time+"分钟前");
        }else if(time < 60*24) {
            System.out.println(time/60+"小时前");
        }else if(time < 60*24*30) {
            System.out.println(time/(60*24)+"天前");
        }else if(time > 60*24*30) {
            System.out.println(s.format(d.getTime()));
        }
    }
}

  

原文地址:https://www.cnblogs.com/zxwen/p/9457364.html

时间: 2024-10-09 17:43:09

关于Java日期的两道例题的相关文章

Liam的软件测试学习历程(二):查找错误的两道例题

观察两段代码并回答下列问题: (1) 发现错误代码: (2) 试着编写测试用例,不执行fault部分: (3) 执行fault部分,但不出现error情况: (4) 出现error情况,但不发生failure. 代码一: public int findLast (int[] x, int y) { //Effects: If x==null throw NullPointerException // else return the index of the last element // in

动态规划 与两道例题

现在要把这几种常见的算法给理清弄明白了,要不然只能做个低级程序员了. 动态规划DP是求解决策过程的最优化的数学方式.动态规划一般分为线性动规,区域动规,树形动规,背包动规. 动态规划是一种方法,但不是一种算法,一般用于多决策中的最优化问题,具有递推的思想.动态规划与分治法类似,基本思想都是把待解问题分解成若干个子问题,先求解子问题,然后由这些子问题的解得到原问题的解.但分治法中分解得到的子问题是相互独立的,但动态规划中不是.动态规划的基本思路与分治法相似,也是用一个表记录所有已解子问题的答案,不

黑马程序员 &nbsp; 两道java面试题

1.List,Set,Map是否都继承了Collection接口?  List,Map比较常用:List是通过下标来访问元素,Map是通过键值进行访问元素.应该不会同时都实现了Collection接口.  Collection是一个什么概念?还有Set在java中是怎样定义的?他是通过下标来访问元素还是通过键值来访问元素?两者谁继承了Collection接口呢?或者有没有可能两者都继承了Collection接口?时间不多了,我是这样写的:  Set,Map实现了Collection接口.而Lis

穷举(四):POJ上的两道穷举例题POJ 1411和POJ 1753

下面给出两道POJ上的问题,看如何用穷举法解决. [例9]Calling Extraterrestrial Intelligence Again(POJ 1411) Description A message from humans to extraterrestrial intelligence was sent through the Arecibo radio telescope in Puerto Rico on the afternoon of Saturday November 16

利用java日期类生成数据仓库维度表

利用java日期类生成数据仓库维度表 Date类: 最基础的日期时间类,返回一个相对日期的毫秒数.精确到毫秒,但不支持日期的国际化和分时区显示.Date 类从Java 开发包(JDK)1.0 就开始进化,当时它只包含了几个取得或者设置一个日期数据的各个部分的方法, 比如说月, 日, 和年. 这些方法现在遭到了批评并且已经被转移到了Calendar类里去了,这种改进旨在更好的处理日期数据的国际化格式. Calender类: 相对于Date更加强大的时间类,是抽象类,提供了常规的日期修改功能和国际化

Java多线程面试15道

Java 线程面试问题 在任何Java面试当中多线程和并发方面的问题都是必不可少的一部分.如果你想获得任何股票投资银行的前台资讯职位,那么你应该准备很多关于多线程的问题.在投资银行业务中多线程和并发是一个非常受欢迎的话题,特别是电子交易发展方面相关的.他们会问面试者很多令人混淆的Java线程问题.面试官只是想确信面试者有足够的Java线程与并发方面的知识,因为候选人中有很多只浮于表面.用于直接面向市场交易的高容量和低延时的电子交易系统在本质上是并发的.下面这些是我在不同时间不同地点喜欢问的Jav

Java日期的格式String类型GMT,GST换算成日期Date种类

请尊重他人的劳动成果.转载请注明出处:Java日期格式化之将String类型的GMT,GST日期转换成Date类型 http://blog.csdn.net/fengyuzhengfan/article/details/40164721 在实际开发过程中常常会须要将Date类型的数据封装成XML或Json格式在网络上进行传输,另外在将Date类型的数据存到Sqlite数据库中后再取出来的时候仅仅能获取String类型的日期了,这是由于SQLite是无类型的.这样不得不面对将String 类型的日

Java日期时间使用总结

一.Java中的日期概述 日期在Java中是一块非常复杂的内容,对于一个日期在不同的语言国别环境中,日期的国际化,日期和时间之间的转换,日期的加减运算,日期的展示格式都是非常复杂的问题. 在Java中,操作日期主要涉及到一下几个类: 1.java.util.Date 类 Date 表示特定的瞬间,精确到毫秒.从 JDK 1.1 开始,应该使用 Calendar 类实现日期和时间字段之间转换,使用 DateFormat 类来格式化和分析日期字符串.Date 中的把日期解释为年.月.日.小时.分钟和

Java日期格式化之将String类型的GMT,GST日期转换成Date类型

请尊重他人的劳动成果,转载请注明出处:Java日期格式化之将String类型的GMT,GST日期转换成Date类型 http://blog.csdn.net/fengyuzhengfan/article/details/40164721 在实际开发过程中经常会需要将Date类型的数据封装成XML或Json格式在网络上进行传输,另外在将Date类型的数据存到Sqlite数据库中后再取出来的时候只能获取String类型的日期了,这是因为SQLite是无类型的.这样不得不面对将String 类型的日期