Java教程 专题
专题目录
您的位置:java > Java教程专题 > Java 日期时间方法
Java 日期时间方法
作者:--    发布时间:2019-11-20

java日期时间方法


在java date-time api中的方法名称尽可能在类之间保持一致。

例如, now 方法返回当前时刻的日期或时间值。from方法允许从一个类转换到另一个类。

下表列出了常用的前缀:

  • of
    静态工厂方法
    工厂方法创建一个实例并验证输入参数
  • from
    静态工厂方法将输入参数转换为目标类的实例。
  • parse
    静态工厂方法
    解析输入字符串以创建目标类的实例。
  • format
    实例方法
    格式化临时对象以产生字符串。
  • get
    实例方法
    返回目标对象的一部分。
  • is
    实例方法
    查询目标对象。
  • with
    实例方法
    返回一个元素已更改的目标对象的副本。
  • plus
    实例方法
    返回具有添加的时间量的对象的副本。
  • minus
    实例方法
    返回具有减去时间量的对象的副本。
  • to
    实例方法
    将此对象转换为另一种类型。
  • at
    实例方法
    将此对象与另一个对象组合。

of()方法

java日期时间api的xxx()方法用于创建对象。

以下代码显示了如何创建localdate类的对象:

import java.time.localdate;
import java.time.month;

public class main {
  public static void main(string[] args) {
    localdate localdate1  = localdate.of(2014, 5, 21); 
    system.out.println(localdate1);
    
    localdate localdate2  = localdate.of(2014, month.march, 4);
    system.out.println(localdate2);
    
    localdate localdate3  = localdate.ofepochday(2014);
    system.out.println(localdate3);
    
    localdate localdate4  = localdate.ofyearday(2014, 39);
    system.out.println(localdate4);
  }
}

上面的代码生成以下结果。

from()方法

from()是一个静态工厂方法,用于从指定的参数派生datetime对象。

of()不同, from()需要对指定参数进行数据转换。

以下代码显示如何从localdatetime派生localdate:

import java.time.localdate;
import java.time.localdatetime;

public class main {
  public static void main(string[] args) {
    localdatetime  localdatetime = localdatetime.of(2015, 6,  21,  13, 40);
    system.out.println(localdatetime);
    
    localdate localdate  = localdate.from(localdatetime);
    system.out.println(localdate);
  }
}

上面的代码生成以下结果。

with()方法

要更改datetime对象中的字段,我们可以使用带有前缀的方法。

withxxx()方法返回一个对象的副本,指定的字段已更改,因为date time api中的大多数对象都是不可变的。

以下代码显示如何从另一个localdate获取localdate,并更改年份:

import java.time.localdate;
import java.time.month;

public class main {
  public static void main(string[] args) {
    localdate localdate1  = localdate.of(2014, month.may,  2);
    system.out.println(localdate1);
    
    localdate localdate2  = localdate1.withyear(2015);
    system.out.println(localdate2);
    
    localdate localdate3  = localdate1.withyear(2014).withmonth(7);
    system.out.println(localdate3);
    
  }
}

上面的代码生成以下结果。

getxxx()方法

getxxx()返回对象的指定元素。

以下代码显示如何从 localdate 对象获取年,月和日:

import java.time.localdate;
import java.time.month;

public class main {
  public static void main(string[] args) {
    localdate localdate = localdate.of(2014, 6, 21);
    int year = localdate.getyear();
    system.out.println(year);
    month month = localdate.getmonth();
    system.out.println(month);

    int day = localdate.getdayofmonth();
    system.out.println(day);

  }
}

上面的代码生成以下结果。

toxxx()方法

toxxx()将对象转换为相关类型。

以下代码显示了使用toxxx()方法的一些示例。

import java.time.localdate;

public class main {
  public static void main(string[] args) {
    localdate localdate = localdate.of(2014, 6, 21); 
    long days = localdate.toepochday(); 
    system.out.println(days);

  }
}

上面的代码生成以下结果。

atxxx()方法

atxxx()从带有附加信息的现有datetime对象创建一个新的datetime对象。

以下代码在方法中使用以向日期对象添加附加信息。

import java.time.localdate;
import java.time.localdatetime;

public class main {
  public static void main(string[] args) {
    localdate localdate  = localdate.of(2014, 6, 21);
    system.out.println(localdate);

    localdatetime  localtime1 = localdate.atstartofday();
    system.out.println(localtime1);

    localdatetime  localtime2 = localdate.attime(16, 21);
    system.out.println(localtime2);
  }
}

上面的代码生成以下结果。

以下代码显示了如何使用支持构建器模式来构建本地日期的atxxx()方法:

import java.time.localdate;
import java.time.year;

public class main {
  public static void main(string[] args) {
    localdate localdate  = year.of(2014).atmonth(6).atday(21);
    system.out.println(localdate);

  }
}

上面的代码生成以下结果。

plusxxx()方法

plusxxx()通过添加指定的值来返回对象的副本。

以下代码显示如何使用plus方法向本地添加更多时间日期对象。

import java.time.localdate;

public class main {
  public static void main(string[] args) {
    localdate localdate  = localdate.of(2014, 6, 21); 
    localdate localdate1  = localdate.plusdays(5);   
    system.out.println(localdate1);
    localdate localdate2  = localdate.plusmonths(3);
    system.out.println(localdate2);
    localdate localdate3  = localdate.plusweeks(3);        
    system.out.println(localdate3);
  }
}

上面的代码生成以下结果。

minusxxx()方法

minusxxx()通过减去指定的值来返回对象的副本。

以下代码显示如何从本地日期对象中减去时间。

import java.time.localdate;

public class main {
  public static void main(string[] args) {
    localdate localdate  = localdate.of(2014, 6, 21); 
    localdate localdate1  = localdate.minusmonths(5);   
    system.out.println(localdate1);
    localdate localdate2  = localdate.minusweeks(3);
    system.out.println(localdate2);
  }
}

上面的代码生成以下结果。

now()方法

now()方法返回各种类的当前时间,例如localdate,localtime,localdatetime,zoneddatetime。

以下代码显示如何使用now()方法返回当前日期和时间。

import java.time.localdate;
import java.time.localdatetime;
import java.time.localtime;
import java.time.zoneddatetime;

public class main {
  public static void main(string[] args) {
    localdate localdate = localdate.now(); 
    system.out.println(localdate);
    
    localtime  localtime  = localtime.now();
    system.out.println(localtime);
    
    localdatetime  datetime  = localdatetime.now();
    system.out.println(datetime);
    
    zoneddatetime datetimewithzone  = zoneddatetime.now();
    system.out.println(datetimewithzone);
  }
}

上面的代码生成以下结果。

网站声明:
本站部分内容来自网络,如您发现本站内容
侵害到您的利益,请联系本站管理员处理。
联系站长
373515719@qq.com
关于本站:
编程参考手册