Latest web development tutorials
×

Java หลักสูตร

Java หลักสูตร Java แนะนำโดยย่อ Java การกำหนดค่าการพัฒนาสภาพแวดล้อม Java พื้นฐานไวยากรณ์ Java วัตถุและการเรียน Java ชนิดข้อมูลพื้นฐาน Java ประเภทตัวแปร Java การปรับเปลี่ยน Java ผู้ประกอบการ Java โครงสร้างห่วง Java สาขาโครงสร้าง Java Number หมวดหมู่ Java Character หมวดหมู่ Java String หมวดหมู่ Java StringBuffer Java แถว Java วันที่เวลา Java นิพจน์ปกติ Java ทาง Java Stream,File,IO Java Scanner หมวดหมู่ Java การจัดการข้อยกเว้น

Java เชิงวัตถุ

Java สืบทอด Java Override/Overload Java polymorphism Java ระดับนามธรรม Java บรรจุภัณฑ์ Java อินเตอร์เฟซ Java บรรจุภัณฑ์

Java การสอนที่ทันสมัย

Java โครงสร้างข้อมูล Java คอลเลกชันกรอบ Java ยาชื่อสามัญ Java การทำให้เป็นอันดับ Java เขียนโปรแกรมเครือข่าย Java ส่ง Email Java การเขียนโปรแกรมแบบมัลติเธรด Java Appletรากฐาน Java เอกสารความคิดเห็น Java ตัวอย่าง Java 8 คุณสมบัติใหม่ Java MySQL สัมพันธ์

Java 8 วันที่เวลา API

Java 8 คุณสมบัติใหม่ Java 8 คุณสมบัติใหม่


Nashorn เป็นเครื่องมือ JavaScript

Java 8 โดยการออกใหม่วันที่เวลา API (JSR 310) เพื่อเสริมสร้างความแข็งแกร่งวันที่และเวลาของการประมวลผล

ในรุ่นเก่าของ Java มีวันที่และเวลา API ปัญหารวมไปถึง:

  • Non-ด้ายปลอดภัย - java.util.Date ไม่ด้ายปลอดภัยทุกวันที่ชั้นเป็นตัวแปรซึ่งเป็นหนึ่งในที่ใหญ่ที่สุดระดับปัญหา Java วัน

  • ออกแบบที่น่าสงสาร - กําหนดวันที่ Java / คลาสเวลาไม่สอดคล้องกันใน java.util และ java.sql แพคเกจมีวันของการเรียนที่นอกเหนือไปจากการจัดรูปแบบและการกำหนดระดับการแยกในแพคเกจ java.textjava.util.Date รวมทั้งวันที่และเวลาและ java.sql.Date มีเพียงวันที่ซึ่งถูกรวมอยู่ในแพคเกจ java.sql และไม่มีเหตุผล นอกจากนี้ทั้งสองเรียนมีชื่อเดียวกันที่ตัวเองคือการออกแบบที่ดีมาก

  • การจัดการปัญหาเขตเวลา - วันที่ระดับไม่ให้ต่างประเทศไม่มีการสนับสนุนโซนเวลา, Java และ java.util.TimeZone แนะนำระดับ java.util.Calendar แต่พวกเขามีอยู่ทุกปัญหาเช่นเดียวกับที่อธิบายข้างต้น

Java 8 ในแพคเกจjava.time ให้ API ใหม่ ๆต่อไปนี้เป็นสองของ API ที่สำคัญมากขึ้น:

  • ท้องถิ่น (Local) - ช่วยลดการจัดการของวันที่และเวลาไม่มีโซนเวลาปัญหา

  • โลโก้ (โซนเวลา) - วันที่และเวลาการประมวลผลโดยโซนเวลาตรา

แพคเกจ java.time ใหม่ครอบคลุมทุกวันที่ประมวลผลเวลาวันที่ / เวลาเขตเวลาเวลา (จังหวะ) กระบวนการ (ช่วง) และนาฬิกา (นาฬิกา) การดำเนินงาน


วันที่และเวลาที่มีการแปล API

LOCALDATE / localtime และ LocalDateTime พื้นที่ชั้นไม่จำเป็นเมื่อต้องรับมือกับกรณีที่ รหัสเป็นดังนี้:

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

public class Java8Tester {
   public static void main(String args[]){
      Java8Tester java8tester = new Java8Tester();
      java8tester.testLocalDateTime();
   }
	
   public void testLocalDateTime(){
	
      // 获取当前的日期时间
      LocalDateTime currentTime = LocalDateTime.now();
      System.out.println("当前时间: " + currentTime);
		
      LocalDate date1 = currentTime.toLocalDate();
      System.out.println("date1: " + date1);
		
      Month month = currentTime.getMonth();
      int day = currentTime.getDayOfMonth();
      int seconds = currentTime.getSecond();
		
      System.out.println("月: " + month +", 日: " + day +", 秒: " + seconds);
		
      LocalDateTime date2 = currentTime.withDayOfMonth(10).withYear(2012);
      System.out.println("date2: " + date2);
		
      // 12 december 2014
      LocalDate date3 = LocalDate.of(2014, Month.DECEMBER, 12);
      System.out.println("date3: " + date3);
		
      // 22 小时 15 分钟
      LocalTime date4 = LocalTime.of(22, 15);
      System.out.println("date4: " + date4);
		
      // 解析字符串
      LocalTime date5 = LocalTime.parse("20:15:30");
      System.out.println("date5: " + date5);
   }
}

การดำเนินงานของสคริปดังกล่าวข้างต้นออกเป็น:

$ javac Java8Tester.java 
$ java Java8Tester
当前时间: 2016-04-15T16:55:48.668
date1: 2016-04-15
月: APRIL, 日: 15, 秒: 48
date2: 2012-04-10T16:55:48.668
date3: 2014-12-12
date4: 22:15
date5: 20:15:30

โซนเวลา datetime API

ถ้าเราต้องการที่จะคำนึงถึงโซนเวลาที่คุณสามารถใช้เขตวันที่และเวลา API เวลา:

import java.time.ZonedDateTime;
import java.time.ZoneId;

public class Java8Tester {
   public static void main(String args[]){
      Java8Tester java8tester = new Java8Tester();
      java8tester.testZonedDateTime();
   }
	
   public void testZonedDateTime(){
	
      // 获取当前时间日期
      ZonedDateTime date1 = ZonedDateTime.parse("2015-12-03T10:15:30+05:30[Asia/Shanghai]");
      System.out.println("date1: " + date1);
		
      ZoneId id = ZoneId.of("Europe/Paris");
      System.out.println("ZoneId: " + id);
		
      ZoneId currentZone = ZoneId.systemDefault();
      System.out.println("当期时区: " + currentZone);
   }
}

การดำเนินงานของสคริปดังกล่าวข้างต้นออกเป็น:

$ javac Java8Tester.java 
$ java Java8Tester
date1: 2015-12-03T10:15:30+08:00[Asia/Shanghai]
ZoneId: Europe/Paris
当期时区: Asia/Shanghai

Java 8 คุณสมบัติใหม่ Java 8 คุณสมบัติใหม่