首页 > 其他分享 >常用类和基础API(二)

常用类和基础API(二)

时间:2023-08-11 19:31:40浏览次数:35  
标签:常用 java 基础 System println API Date public out

1、在jdk8.0之前的日期时间的使用

1.1、常用方法:

 long begin = System.currentTimeMillis();        //获取当前系统时间对应的毫秒值
 Date date = new Date();
 System.out.println(date);       				//获取当前时间和日期

1.2、SimpleDateFormat:用于日期时间的格式化和解析

格式化:日期 —> 字符串(format)

解析:字符串 —> 日期(parse)

测试代码如下所示:

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

public class Test {
    public static void main(String[] args) {
        Date date = new Date();
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月DD日 HH:mm:ss ");
        String date1 = sdf.format(date);
        System.out.println(date1);

        try {
            date = sdf.parse(date1);
        } catch (ParseException e) {
            e.printStackTrace();
        }
        System.out.println(date);
    }
}

输出结果:

2023年08月222日 18:47:03 Thu Aug 10 18:47:03 CST 2023

1.3、Calendar(日历,抽象类)

import java.util.Calendar;

public class Test {
    public static void main(String[] args) {
        Calendar calendar = Calendar.getInstance();         //获取Calendar对象
        //测试方法
        System.out.println(calendar.get(Calendar.DAY_OF_MONTH));
        //②、常用方法: get(int field) / set(int field,xx) / add(int field ,xx) / getTime() / setTime()
    }
}

2、例题:

2.1、如何将一个java.util.Date的实例转换为java.sql.Date的实例?

import java.util.Date;

public class Test1 {
    public static void main(String[] args) {
        Date date1 = new Date();
        java.sql.Date date2 = new java.sql.Date(date1.getTime());       //转换
        System.out.println(date2);      //输出结果:2023-08-11
    }
}

2.2、将控制台获取的年月日(比如: 2023-8-11)的字符串数据,保存在数据库中。(简化为得到java.sql.Date的对象,此对象对应的时间为2023-8-11)

public static void test02(){
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        Scanner sc = new Scanner(System.in);
        System.out.print("请输入年份:");
        String year = sc.next();
        System.out.print("请输入月份:");
        int month = sc.nextInt();
        System.out.print("请输入天数:");
        int day = sc.nextInt();
        String date = year + "-" + month + "-" + day;
        Date date1 = null;
        try {
            date1 = sdf.parse(date);
        } catch (ParseException e) {
            e.getStackTrace();
        }
        java.sql.Date date2 = new java.sql.Date(date1.getTime());       //转换
        System.out.println(date2);                                            //输出

输出结果:

请输入年份:2023 请输入月份:8 请输入天数:11 2023-08-11

2、在jdk8.0之后的日期时间的使用

2.1、之前时间日期存在的问题:

可变性:日期和时间这样的类应该是不可变的。

偏移性: Date中的年份是从1900开始的,而月份都从0开始。

格式化:格式化只对Date有用,Calendar则不行。

此外,它们也不是线程安全的;不能处理闰秒等。

2.2.1、本地日期时间:LocalDate、LocalTime、LocalDateTime

public static void test03(){
        LocalDate localDate = LocalDate.now();
        LocalTime localTime = LocalTime.now();
        LocalDateTime localDateTime = LocalDateTime.now();

        System.out.println(localDate);      //2023-08-11
        System.out.println(localTime);      //18:28:50.115896700
        System.out.println(localDateTime);  //2023-08-11T18:28:50.116898500

        //of指定年月日或者其他时间,没有偏移量
        LocalDate localDate1 = LocalDate.of(2002,6,28);
        System.out.println(localDate1);

    }

2.2.2、Instant(和Date相似):时间线上的一个瞬间点,这可能被用来记录应用程序中的事件时间戳。

 public static void test05(){
        Instant instant = Instant.now();
        System.out.println(instant);        //以伦敦时间为准
    }

2.2.3、DateTimeFormatter(类似于SimpleDateFormat):用于格式化和解析LocalDate、LocalTime、LocalDateTime

  public static void test06(){
        DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd hh:mm:ss");     //自定义格式化
        LocalDateTime localDateTime = LocalDateTime.now();
        String format = dtf.format(localDateTime);
        System.out.println(format);         //2023-08-11 07:05:37
    }

标签:常用,java,基础,System,println,API,Date,public,out
From: https://blog.51cto.com/u_15433911/7051715

相关文章

  • Json 基于类 Newtonsoft.Json.Linq.JToken 的应用简介【C# 基础】
    〇、前言在日常开发中,对于Json的使用还是比较频繁的,特别是Json对象和字符串或者实体对象之间的转换。虽然几乎天天用,但是总是感觉没那么明了,今天结合微软的Newtonsoft.Json.Linq类,试着详解一下,把相关的内容列一下。一、Newtonsoft.Json.Linq的层级结构简单画个图,肯定比......
  • XSS基础学习
    XSS基础学习一、xss漏洞简介XSS攻击全称跨站脚本攻击,是利用网页开发时留下的漏洞,构造恶意代码植入web网站,当用户访问时,就会产生xss攻击二、xss攻击分类以及区别类型简介攻击方法区别反射型非持久化、需要用户自己点击才会触发构造钓鱼邮件主要是get类型、不和数......
  • 解锁Python集合的妙用:常用函数与实例深度解析
    Python的集合(Set)是一种无序且不重复的数据结构,拥有强大的去重和集合运算功能。在这篇博客中,我们将深入探讨集合的常用函数,并通过实际案例为你展示其灵活应用。创建集合集合可以通过花括号来创建,也可以使用内置函数set()来转换其他可迭代对象为集合。#创建集合my_set={1,2,3}......
  • Dos常用命令持续更新......
    .盘符切换:盘符+冒号,然后回车.查看当前目录下的所有文件:dir,然后回车.进入当前盘符下文件目录:cd+文件目录路径,然后回车.清理屏幕:cls,然后回车.测试网络联通:ping+ip(或者域名),然后回车.退出终端:exit,然后回车.查看电脑ip:ifconfig,然后回车.创建目录:md......
  • python 常用的案例1
          pythonPython中文转拼音代码(支持全拼和首字母缩写)by Crazyant本文的代码,从https://github.com/cleverdeng/pinyin.py升级得来,针对原文的代码,做了以下升级: 1、可以传入参数firstcode:如果为true,只取汉子的第一个......
  • selenium常用知识点
    selenium知识点selenium截屏全屏截屏:截屏的是可视区域driver.save_screenshot('baidu1.png')部分截屏:指定元素截屏image=driver.find_element(By.XPATH,'//*[@id="app"]/div/div/div[2]/div[3]/div[2]/form/div[3]/div/div/div/div/img')time.sleep(3)#dri......
  • Linux shell 脚本常用指南
    常用语法变量#!/bin/bash#字符串USER_NAME="shell"#数字AGE=25echo${USER_NAME}echo${AGE}数组#!/bin/bash#普通数组定义USER_IDS=(1234)echo${USER_IDS[0]}echo${USER_IDS[1]}echo${USER_IDS[2]}echo${USER_IDS[3]}USER_IDS[0]=-1echo${USER_IDS[......
  • Linux 系统 基础命令
    目录ls:列出目录下的文件和文件夹名字"mkdir创建新目录(文件夹)//mkdirt01rmdir删除空目录//rmdirt01cd切换目录pwd查看当前所在的工作目录的绝对路径vim文本编辑器touch创建文件cat查看文件全部内容(不用进入内容,只展示内容)(从第一行显示)more命令查看文件内容cp......
  • python调用zabbix api接口实时展示数据
    zabbixapi接口来进行展示。经过思考之后,计划获取如下内容:  1、  获得认证密钥  2、  获取zabbix所有的主机组  3、  获取单个组下的所有主机  4、  获取某个主机下的所有监控项  5、  获取某个监控项的历史数据  6、  获取某个监控项的......
  • 商品详情接口设计:使用API调用获取淘宝商品数据的完整方案
    在如今的电商时代,获取商品的详细信息是实现商业化应用的基础。本文将详细介绍如何通过API调用来获取淘宝商品数据,并提供一个完整的商品详情接口设计方案,包括代码示例。开发人员可以根据此方案快速实现商品详情功能,提升用户体验。准备工作:在开始之前,我们需要确保已经申请并获得淘宝......