首页 > 编程语言 > Java基础语法API之Date和SimpleDateFormat

Java基础语法API之Date和SimpleDateFormat

时间:2024-01-03 22:32:16浏览次数:41  
标签:11 12 Java String SimpleDateFormat API Date new

一:概述

在实际开发中,Date类和SimpleDateFormat类是两个常用的时间类。在这里主要具体说一下Date时间类和SimpoleDateFormat类。

二:具体说明

<1>JDK文档中的介绍

《1》Date类

                        Java基础语法API之Date和SimpleDateFormat_System

《2》SimpleDateFormat类

                        Java基础语法API之Date和SimpleDateFormat_字符串_02

                        Java基础语法API之Date和SimpleDateFormat_字符串_03

                        Java基础语法API之Date和SimpleDateFormat_System_04

<2>具体代码案例

/*
    构造方法:
        Date():分配 Date对象并对其进行初始化,使其表示分配时间,测量 Date到毫秒
        Date(long date):分配 Date对象并初始化它以表示自标准基准时间以来的指定毫秒数,即1970年1月1日00:00:00
 */
               // Date() 分配 Date对象并对其进行初始化,使其表示分配时间,测量Date到毫秒
               Date d1 = new Date();
               System.out.println(d1);

               // Date(long date) 分配 Date对象并初始化它以表示自标准基准时间以来的指定毫秒数,即1970年1月1日00:00:00
               Date d2 = new Date(1000 * 60 * 60 * 60);
               System.out.println(d2);

                        Java基础语法API之Date和SimpleDateFormat_System_05


/*
    构造方法
        SimpleDateFormat():构造一个SimpleDateFormat,使用默认模式和日期格式
        SimpleDateFormat(String pattern):构造一个SimpleDateFormat使用给定的模式和默认的日期格式

    格式化(从 Date 到 String )
        String format(Date date):将日期格式化成日期/时间字符串

    解析(从 String 到 Date )
        Date parse(String source):从给定字符串的开始解析文本以生成日期
 */
        // 格式化从date---->String
        // 1.获取目前的时间对象
        Date now = new Date();

        //  SimpleDateFormat():构造一个SimpleDateFormat,使用默认模式和日期格式
        SimpleDateFormat sdf1 = new SimpleDateFormat();
        // 格式化 String format(Date date):将日期格式化成日期/时间字符串
        String s1 = sdf1.format(now);
        System.out.println(s1);
        // SimpleDateFormat(String pattern):构造一个SimpleDateFormat使用给定的模式和默认的日期格式 
        SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy年MM月dd日 HH:MM:ss");
        String s2 = sdf2.format(now);
        System.out.println(s2);
        System.out.println("==============================");
        
        
        // 解析:从String---->Date
        // Date parse(String source):从给定字符串的开始解析文本以生成日期
        SimpleDateFormat sdf3 = new SimpleDateFormat("yyyy-MM-dd HH:MM:ss");
        String s3 = "2024-5-1 12:00:00";
        Date futureTime = sdf3.parse(s3);
        System.out.println(futureTime);
        
    }
}

                        Java基础语法API之Date和SimpleDateFormat_键盘录入_06

<3>应用案例1:键盘录入女朋友生日案例

/*
     假设,现在需要做一个系统,通过键盘录入女朋友的生日时间,字符串例如:1989-12-13
     在这里假设输入的都是符合格式的字符串,异常字符串不考虑在内
    并将其转换为:1989年12月13日

     创建一个Date对象表示2000年11月11日
     创建一个SimpleDateFormat对象,并定义格式为年月日把时间变成:2000年11月11日
*/
   // 1.创建键盘录入对象
     Scanner sc = new Scanner(System.in);
     // 2.用户键盘录入女朋友的生日
     System.out.println("请输入您女朋友的生日,格式为:1989-12-13");
     String birthdayString = sc.next();

     // 3.创建SimpleDateFormat对象,并将其解析格式设为:yyyy年MM月dd日
     SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd");
     // 利用解析方法将录入的生日字符串转换为时间
     Date birthdayTime = sdf1.parse(birthdayString);

     // 再次创建SimpleDateFormat对象,进行格式化
     SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy年MM月dd日");
     String birthday = sdf2.format(birthdayTime);
      // 打印格式化后的生日
     System.out.println(birthday); 
            }

                        Java基础语法API之Date和SimpleDateFormat_键盘录入_07

<4>秒杀活动案例

public static void main(String[] args) { 
秒杀活动开始时间:2023年11月12日 0:0:0(毫秒值)
            秒杀活动结束时间:2023年11月12日 0:10:0(毫秒值)
            下单并付款的时间为:2023年11月12日 0:01:0
              //1.定义字符串表示三个时间
        String startstr = "2023年11月12日 0:0:0";
        String endstr = "2023年11月12日 0:10:0";
        String orderstr = "2023年11月12日 0:01:00";
//2.解析上面的三个时间,得到Date对象
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日HH:mm:ss");
        Date startDate = sdf.parse(startstr);
        Date endDate = sdf.parse(endstr);
        Date orderDate = sdf.parse(orderstr);

//3.得到三个时间的毫秒值
        long startTime = startDate.getTime();
        long endTime = endDate.getTime();
        long orderTime = orderDate.getTime();

//4.判断
        if (orderTime >= startTime && orderTime <= endTime) {
            System.out.println("参加秒杀活动成功");
        } else {
            System.out.println("参加秒杀活动失败");
        }

    }        






标签:11,12,Java,String,SimpleDateFormat,API,Date,new
From: https://blog.51cto.com/u_15912723/9089555

相关文章

  • Java程序运行机制
    Java程序运行机制编译型:操作系统,C/C++(整体写和整体调整)解释型:网页类,速度较慢,类似Java(可以写一句,改一句)运行机制.Java文件——.class文件——类装载器——字节码校验器——解释器——操作系统平台IDEA安装IDE:集成开发环境Idea新建项目新建建立Newproject:名字+位......
  • Apipost多Host服务配置
    最近Apipost新增同环境下多host服务的配置功能,本篇文章带来该功能的使用场景及使用方法。配置方法:点击右上角眼睛标识进入环境管理点击添加服务,输入服务名和URL配置完成后需要在接口目录中选择该目录下需要使用的host服务,每个接口目录都可以选择不同的host服务,如果未选择,则使用默认......
  • 软件工程 之 (XMUT)Java期末复习题及答案-选择题
    软件工程实用案例教程https://www.cnblogs.com/IvanKK/p/17712702.htmlJava期末复习题及答案https://www.cnblogs.com/IvanKK/p/17712704.html计算机网络复习题库https://www.cnblogs.com/IvanKK/p/17712719.html(XMUT)Java期末复习题及答案-选择题分数1作者张峰单位......
  • 无涯教程-Java 正则 - XY 匹配函数
    逻辑运算符[XY]匹配X,后跟Y。XY-示例以下示例显示了逻辑运算符的用法。packagecom.learnfk;importjava.util.regex.Matcher;importjava.util.regex.Pattern;publicclassLogicalOperatorDemo{privatestaticfinalStringREGEX="to";privatestaticfin......
  • 【JDBC】Java数据库连接:操作流程、API、数据库连接池
    JDBC简介JDBC(JavaDataBaseConnectivity)Java数据库连接JDBC是使用Java语言操作关系型数据库的一套APIJDBC操作数据库流程JDBCAPIDriverManager驱动管理类Connection数据库连接对象StatementResultSet结果集对象PreparedStatementPreparedStatement好......
  • 无涯教程-Java 正则 - X|Y 匹配函数
    逻辑运算符[X|Y]匹配X或Y。X|Y-示例以下示例显示了逻辑运算符的用法。packagecom.learnfk;importjava.util.regex.Matcher;importjava.util.regex.Pattern;publicclassLogicalOperatorDemo{privatestaticfinalStringREGEX="t|o";privatestatic......
  • 抓取java堆栈失败的思考-Safepoint等的学习
    抓取java堆栈失败的思考-Safepoint等的学习背景前期解决问题都是靠抓取进程堆栈jstack,后者是jmap到内存dump的方式来进行分析.最近连续有两个比较大的项目出现了抓取dump/stack失败的情况.具体原因可能还不太一样.周末再翻找之前的资料时猜到了可能得几个原因.想总结一下.......
  • JAVA开发工具Eclipse和MyEclipse
    Eclipse和MyEclipse都是广泛使用的集成开发环境(IDE),主要用于Java语言的开发,但也有其他插件支持如C++和Python等其他计算机语言的开发。两者之间的主要区别在于Eclipse是开源的,而MyEclipse则是基于Eclipse的商业版本。    Eclipse:Eclipse最初是由IBM公司开发的替代商业软......
  • java接口自动化系列(11):断言请求结果
     添加工具类AssertUtil.javapackagecom.qzcsbj.autotest.utils;importcom.jayway.jsonpath.Configuration;importcom.jayway.jsonpath.JsonPath;importorg.testng.Assert;/***@公众号:全栈测试笔记*@描述:<>*/publicclassAssertUtil{//断言字段......
  • java接口自动化系列(07):解析并执行初始化sql
     添加pom依赖连接操作数据库<!--https://mvnrepository.com/artifact/mysql/mysql-connector-java--><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><v......