首页 > 其他分享 >日期时间类

日期时间类

时间:2024-08-19 19:07:48浏览次数:5  
标签:int System println 日期 时间 Date Calendar out

日期时间类

date类

  1. 创建Date对象

    • 可以通过将当前时间毫秒值传递给构造函数来创建Date对象。
    javalong currentTime = System.currentTimeMillis();
    Date currentDate = new Date(currentTime);
    
  2. 获取时间戳

    • Date对象的getTime()方法返回自1970年1月1日00:00:00 GMT以来的毫秒数。
  3. 设置和获取日期和时间

    • setYear(int year), getYear(), setMonth(int month), getMonth(), setDate(int date), getDate(), setHours(int hours), getHours(), 等等,用于设置和获取日期和时间的各个部分。
  4. 比较日期

    • before(Date when):测试当前Date对象是否在指定的Date对象之前。
    • after(Date when):测试当前Date对象是否在指定的Date对象之后。
    • equals(Object obj):测试当前Date对象是否与指定的Date对象相等。
  5. 格式化日期

    • 尽管Date类本身不提供格式化功能,但可以通过SimpleDateFormat类将Date对象格式化为易读的字符串。
  6. 克隆Date对象

    • clone():返回Date对象的一个副本。
  7. 时间操作

    • 可以通过加减毫秒值来修改Date对象表示的时间。

以下是Date类的一个简单使用示例:

import java.util.Date;

public class DateExample {
    public static void main(String[] args) {
        // 创建一个新的Date对象,表示当前时间
        Date now = new Date();

        // 打印当前时间
        System.out.println("Current time: " + now);

        // 获取当前时间的毫秒值
        long millis = now.getTime();
        System.out.println("Milliseconds since epoch: " + millis);

        // 创建一个Date对象,表示特定的时间
        Date birthday = new Date(0); // 表示1970年1月1日00:00:00 GMT

        // 比较两个日期
        if (now.after(birthday)) {
            System.out.println("Current time is after the epoch.");
        }

        // 克隆Date对象
        Date clonedDate = (Date) now.clone();
        System.out.println("Cloned time: " + clonedDate);
    }
}

SimpleDateFormat类(格式化)

SimpleDateFormat是Java中用于日期和时间格式化和解析的类,位于java.text包中。它允许你以一种特定的方式来格式化Date对象或者解析字符串为Date对象。SimpleDateFormat是不可变的,这意味着一旦创建了一个实例,就不能更改其模式。

以下是SimpleDateFormat的一些关键用法:

  1. 创建SimpleDateFormat实例
    • 你需要提供一个日期和时间的模式字符串来创建SimpleDateFormat的实例。
  2. 格式化日期
    • 使用format(Date date)方法将Date对象格式化为字符串。
  3. 解析日期
    • 使用parse(String source)方法将字符串解析为Date对象。
  4. 设置和获取日期格式
    • applyPattern(String pattern)toPattern()方法用于设置和获取当前使用的日期时间模式。

以下是SimpleDateFormat类的一些常用模式字符:

  • y:年
  • M:月
  • d:日
  • H:小时(24小时制)
  • m:分钟
  • s:秒
  • S:毫秒
  • E:星期
  • D:一年中的第几天
  • F:一年中的第几周

以下是SimpleDateFormat的一个简单使用示例:

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

public class SimpleDateFormatExample {
    public static void main(String[] args) {
        // 创建Date对象
        Date currentDate = new Date();

        // 创建SimpleDateFormat实例,定义日期时间格式
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

        // 格式化日期
        String formattedDate = dateFormat.format(currentDate);
        System.out.println("Formatted date: " + formattedDate);

        // 解析日期
        try {
            Date parsedDate = dateFormat.parse("2024-08-05 10:30:00");
            System.out.println("Parsed date: " + dateFormat.format(parsedDate));
        } catch (Exception e) {
            System.out.println("Error parsing date: " + e.getMessage());
        }
    }
}

Calendar(日历)

Java 中的 Calendar 类是 java.util 包的一部分,它是一个抽象类,提供了一种方法来操作日期和时间。Calendar 类提供了丰富的方法来添加或减去时间、字段之间的转换、以及获取或设置日期和时间的特定字段。

以下是 Calendar 类的一些关键用法:

  1. 获取Calendar实例
    • 使用 Calendar.getInstance() 方法来获取一个带有默认时区和语言环境的 Calendar 实例。
  2. 设置和获取日期和时间
    • 使用 set(int year, int month, int date, int hourOfDay, int minute, int second) 方法来设置日期和时间。
    • 使用 get(int field) 方法来获取日期和时间的特定字段,如年、月、日等。
  3. 字段常量
    • Calendar 类定义了一系列的字段常量,如 YEARMONTHDAY_OF_MONTHHOUR_OF_DAY 等,用于指定日期和时间的特定部分。
  4. 添加时间
    • 使用 add(int field, int amount) 方法来给指定的日历字段添加或减去指定的时间量。
  5. 比较日期
    • 使用 before(Object when)after(Object when) 方法来比较两个日期。
  6. 清除和复位
    • 使用 clear() 方法来将 Calendar 实例的所有字段复位为默认值。
    • 使用 reset() 方法来清除当前字段的值。
  7. 时间计算
    • 可以对 Calendar 实例进行算术运算,如增加或减少天数或月份。

以下是 Calendar 类的一个简单使用示例:

import java.util.Calendar;

public class CalendarExample {
    public static void main(String[] args) {
        // 获取Calendar实例
        Calendar calendar = Calendar.getInstance();

        // 获取当前日期和时间的各个字段
        int year = calendar.get(Calendar.YEAR);
        int month = calendar.get(Calendar.MONTH); // 注意:月份是从0开始的,0表示一月
        int day = calendar.get(Calendar.DAY_OF_MONTH);
        int hour = calendar.get(Calendar.HOUR_OF_DAY);
        int minute = calendar.get(Calendar.MINUTE);
        int second = calendar.get(Calendar.SECOND);

        System.out.println("Current date and time: ");
        System.out.println("Year: " + year);
        System.out.println("Month: " + (month + 1)); // 月份从1开始显示
        System.out.println("Day: " + day);
        System.out.println("Hour: " + hour);
        System.out.println("Minute: " + minute);
        System.out.println("Second: " + second);

        // 设置日期和时间
        calendar.set(2024, Calendar.AUGUST, 5, 10, 30, 0);

        // 添加时间
        calendar.add(Calendar.DATE, 10); // 添加10天

        // 打印更新后的日期
        System.out.println("Updated date after adding 10 days: ");
        System.out.println("Year: " + calendar.get(Calendar.YEAR));
        System.out.println("Month: " + (calendar.get(Calendar.MONTH) + 1));
        System.out.println("Day: " + calendar.get(Calendar.DAY_OF_MONTH));
    }
}

标签:int,System,println,日期,时间,Date,Calendar,out
From: https://www.cnblogs.com/jmy3/p/18367910

相关文章

  • 信息学奥赛初赛天天练-69-NOIP2017普及组-完善程序2-切割绳子、二分答案、二分边界、
    1完善程序(单选题,每小题3分,共30分)切割绳子有n条绳子,每条绳子的长度已知且均为正整数。绳子可以以任意正整数长度切割,但不可以连接。现在要从这些绳子中切割出m条长度相同的绳段,求绳段的最大长度是多少。(第一、二空2.5分,其余3分)输入:第一行是一个不超过100的正整数n,......
  • 算法与数据结构——时间复杂度
    时间复杂度运行时间可以直观且准确地反映算法的效率。要准确预估一段代码的运行时间,应该进行如下操作。确定运行平台,包括硬件配置、编程语言、系统环境等,这些因素都会影响代码的运行效率。评估各种计算操作的运行时间,例如加法操作需要1ns,乘法操作需要10ns,打印操作需要5ns等。......
  • 2024年新SCI顶刊算法蛇鹭优化算法SBOA优化Transformer-LSTM模型的多变量时间序列预测
    matlabR2024a以上一、数据集二、2024年新SCI顶刊算法蛇鹭优化算法SBOA2024年,YFu受到自然界中鹭鹰生存行为启发,提出了鹭鹰优化算法(SecretaryBirdOptimizationAlgorithm,SBOA)。2.1算法思想SBOA生存需要不断地寻找猎物和躲避捕食者的追捕,探索阶段模拟鹭鹰捕食蛇,而......
  • 仅花一天时间,开发者重制 32 年前经典 Mac 应用!
    导读:在这个快节奏的技术世界里,重温过去并从中汲取灵感总是一件有趣的事情。今天要介绍的是一款仅用一天时间重制的经典Macintosh应用——Stapler。这款应用最初发布于1992年,现在由一位充满激情的开发者重新打造,不仅保留了原汁原味的功能,还加入了现代化的改进和特性,使其更适合现......
  • 医药药材微盘微交易时间盘投资理财系统
    前端新开UI简洁优美,可二开多语言新增用户输赢控,产品时间段输赢控制,也可以更改产品类型例如石油外汇这些都是可以的功能测试过都正常,K线也没问题。医药药材微盘源码——打造健康产业新起点医药药材微盘源码是一项颇具潜力的创新科技,为医药药材行业带来了一片全新的发展天......
  • 倾向性得分匹配后,生存时间资料要如何分析?
    倾向得分匹配法是通过对样本建模(logit模型)得到倾向性得分,通过倾向性得分为试验组组在对照组中找到最接近的样本,从而进行研究的。倾向得分匹配在真实世界临床研究用途越来越广泛,它是一种事后推动组间比较均衡化的方法,控制混杂偏倚。那么匹配完了后,应该用什么方法呢?观察......
  • 智能小程序 Ray 开发面板 SDK —— 工具方法中时间和转换 SDK 汇总
    时间本文介绍了时间相关工具。秒转时分秒数组名称parseSecond描述将一个基于秒的数转化成固定长度为2的多个字符串。请求参数参数数据类型说明是否必填secondnumber基于秒的数是numnumber字符串长度固定,默认值为2否返回参数参数数据类型说明resultstring个项都是......
  • 花了一天时间帮财务朋友开发了一个实用小工具
    大家好,我是晓凡。写在前面不知道大家有没有做财务的朋友,我就有这么一位朋友就经常跟我抱怨。一到月底简直就是噩梦,总有加不完的班,熬不完的夜,做不完的报表。一听到这儿,这不就一活生生的一个“大表哥”么,这加班跟我们程序员有得一拼了,忍不住邪恶一笑,心里平衡了很多。身为牛马,......
  • 利用生成模型进行时间序列数据的无监督对齐「Alignment」
    作者单位:ChampalimaudCentrefortheUnknown「葡萄牙一个生物研究所」一、主线任务1、研究背景大型推理模型在神经科学中被广泛用于从高维神经记录中提取潜在表示。由于不同实验和动物之间的统计异质性,通常需要针对每个新数据集从头开始训练模型,这既耗费计算资源,也没有......
  • 计算不同金字塔级别下图像匹配所需的时间
    下述代码是使用HALCON软件编写的,HALCON是一款用于机器视觉和图像分析的高级软件。代码的目的是创建一个由两张图像拼接而成的图像马赛克(mosaic),并计算不同金字塔级别下图像匹配所需的时间。ImgPath:=‘3d_machine_vision/mosaic/’ImgName:=‘bga_r_’Times:=[]......