📜  何时 (1)

📅  最后修改于: 2023-12-03 14:49:33.920000             🧑  作者: Mango

何时

简介

何时是一个表示时间的词语,对于程序员来说,时间是非常重要的概念,因为很多程序会根据不同的时间来执行不同的操作。

时间表示方式
Unix 时间戳

Unix 时间戳是指从 1970 年 1 月 1 日 0 点 0 分 0 秒起,到现在经过的秒数,因此它是一种绝对时间,不受时区影响。

在大部分编程语言中,获取当前的 Unix 时间戳非常简单,如在 Java 中可以使用如下代码:

long unixTime = System.currentTimeMillis() / 1000L;
System.out.println(unixTime);
ISO 时间格式

ISO 时间格式是一种标准的时间表示方式,由国际标准化组织(ISO)定义。它的格式如下:

YYYY-MM-DDTHH:mm:ss.sssZ

其中,YYYY 表示年份,MM 表示月份,DD 表示日期,HH 表示小时数,mm 表示分钟数,ss 表示秒数,sss 表示毫秒数(可选),Z 表示时区。

2022年9月30日 15时30分30秒 为例,它的 ISO 时间格式为:

2022-09-30T15:30:30.000Z

Java 中,可以使用 java.time.format.DateTimeFormatter 类来进行时间格式化,如下:

import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter;

String dateTimeString = "2022-09-30T15:30:30Z";
DateTimeFormatter formatter = DateTimeFormatter.ISO_DATE_TIME;
ZonedDateTime dateTime = ZonedDateTime.parse(dateTimeString, formatter);

System.out.println(dateTime);
时间处理库

在实际开发中,对时间进行各种操作是非常常见的,比如计算时间差、转换时间格式、日期加减等等。为了方便处理时间,大部分编程语言都提供了相应的时间处理库,如在 Java 中可以使用 java.time 包来进行时间处理。

import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.time.Month;
import java.time.temporal.ChronoUnit;

// 获取当前时间
LocalDateTime now = LocalDateTime.now();
System.out.println("当前时间: " + now);

// 根据年月日构造时间
LocalDate date = LocalDate.of(2022, Month.SEPTEMBER, 30);
System.out.println("日期: " + date);

// 根据时分秒构造时间
LocalTime time = LocalTime.of(15, 30, 30);
System.out.println("时间: " + time);

// 时间加上指定的时间量
LocalDateTime dateTime = now.plus(1, ChronoUnit.DAYS)
        .plus(1, ChronoUnit.HOURS)
        .plus(1, ChronoUnit.MINUTES)
        .plus(1, ChronoUnit.SECONDS);
System.out.println("加上 1 天 1 小时 1 分钟 1 秒: " + dateTime);
总结

时间是程序员必须要面对的一个重要概念,不同的时间表示方式和时间处理方法对于程序员来说都是非常重要的,希望本文能够对大家有所启发。