XK-TIME เป็นเครื่องมือสำหรับการแปลงเวลาการคำนวณเวลาการจัดรูปแบบเวลาการแยกวิเคราะห์เวลาปฏิทินการแสดงออกของเวลาและเวลา NLP ฯลฯ มันใช้ Java8, การใช้ด้าย-ปลอดภัย, ใช้งานง่ายและมากกว่า 70 เทมเพลตการจัดรูปแบบวันที่สาม
<dependency>
<groupId>com.github.xkzhangsan</groupId>
<artifactId>xk-time</artifactId>
<version>3.2.4</version>
</dependency>
Mini版本不包含 time nlp 功能,更简洁。
<dependency>
<groupId>com.github.xkzhangsan</groupId>
<artifactId>xk-time</artifactId>
<version>3.2.4.Mini</version>
</dependency>
compile group: 'com.github.xkzhangsan', name: 'xk-time', version: '3.2.4'
Toolkit XK-Time ใช้ Java8 API ซึ่งในทันที, LocalDate, LocalDateTime, LocalTime, ZonedDatetime และอื่น ๆ เป็นคลาสที่ปลอดภัยจากเธรดและวิธีการที่สมบูรณ์ยิ่งขึ้น บนพื้นฐานนี้คลาสเครื่องมือที่เกี่ยวข้องได้รับการพัฒนาเพื่อให้มีความปลอดภัยในการด้ายมากขึ้นทำให้สะดวกในการใช้งานมากขึ้น
ชุดเครื่องมือ XK-TIME ฟังก์ชั่นข้างต้นแบ่งออกเป็น 3 คลาสเครื่องมือตามการแปลงเวลาการคำนวณเวลาและการจัดรูปแบบและการวิเคราะห์เวลา: DateTimeConverterutil, DateTimecalculatorutil และ DateTimeFormatterutil แต่ละคลาสมีฟังก์ชั่นเดียวเพื่อใช้งานง่าย
2.4.1 การใช้งานแพ็คเกจเวลา Joda-Time และ Java8 นั้นเหมือนกันโดยทั่วไปทั้งสองถูกครอบงำโดย Stephen Colebourne เริ่มจาก Java8 ขอแนะนำให้ใช้แพ็คเกจ Java8 Time เพื่อแทนที่ Joda-Time
2.4.2 XK-TIME ขึ้นอยู่กับ Java 8 Date API และเป็นเครื่องมือเสริมคล้ายกับวันที่ก่อนหน้า
(1) ไลบรารีคลาส Java8 ถูกนำมาใช้ในแนวตั้งในระดับลำดับชั้นในขณะที่ XK-Time แบ่งออกเป็น 3 คลาสตามฟังก์ชั่นทั่วไปเช่นการแปลงการคำนวณการจัดรูปแบบและการวิเคราะห์
(2) วันที่ Java8 ถูกแปลงเป็นคลาสใหม่และคุณต้องดูเอกสาร API และ XK-Time จะถูกแปลงภายในภายในเพื่อให้วันที่สามารถใช้คุณสมบัติใหม่ของ Java8 ได้โดยตรง
(3) การเปิดใช้งานอีกครั้งฟังก์ชั่นที่ใช้กันทั่วไปของ DateUtil ตาม Java 8 API และในเวลาเดียวกันมีการขยายบางส่วนเพื่อให้ใช้งานได้ง่ายขึ้น
รวม:
(1) วันที่, LocalDate, LocalDatetime, LocalTime, Instant, ZonedDatetime, Yearmonth, Timestamp, Timestamp และ TemporalAccessor จะถูกแปลงเป็นกันและกัน
(2) หน่วยเวลาเช่นวันชั่วโมงนาทีนาทีวินาทีและมิลลิวินาทีจะถูกแปลงให้กันและกันสนับสนุนการแปลงที่แม่นยำของหน่วยขนาดเล็กเป็นหน่วยขนาดใหญ่ ตัวอย่างเช่น minutetohourprecise (Long Num) 90 นาทีถึงชั่วโมงซึ่งคือ 1.5 ชั่วโมง
(3) แปลง ZonedDateTime ในขณะที่สนับสนุนการแปลงเป็นโซนเวลาที่กำหนดเช่น TozonedDateTime (วันที่วันที่, String ZoneID) และ TozonedDatimeandTransformzone (localDateTime LocalDateTime
โปรดทราบว่าสำหรับการแปลงที่เกี่ยวข้องกับ ZonedDateTime โดยเฉพาะอย่างยิ่งสำหรับการแปลงเวลาอื่นเป็น ZonedDateTime คุณควรให้ความสนใจกับความสอดคล้องของเวลาและเขตเวลาที่สอดคล้องกัน
สำหรับการใช้งานโดยละเอียดคุณสามารถดูรหัสทดสอบที่เกี่ยวข้อง: DateTimeConverTiltest
รวม:
(1) รับวิธีแอตทริบิวต์เวลา (สนับสนุนปี, เดือน, ชั่วโมง, นาที, มิลลิวินาที, สัปดาห์, การประทับเวลา, ฯลฯ ), รับ* ตัวอย่างเช่น getyear (วันที่) ได้รับส่วนปี, getMonthcnlong (วันที่) ได้รับเดือนจีน, getdayofweekcn
(2) รับวิธีการทำงานของ Time Plus, Plus* ตัวอย่างเช่น Plusyears (วันที่วันที่ยาวนานจำนวนมาก) เพิ่มมูลค่าจำนวนมากในปีปัจจุบัน
(3) รับวิธีการลดเวลาการลดเวลา, ลบ* ตัวอย่างเช่น, minusyears (วันที่วันที่, จำนวนเงินที่ยาวนาน) ปีปัจจุบันลดค่าเงินจำนวนมากขึ้น
(4) รับเมธอดแอตทริบิวต์การปรับเปลี่ยนเวลาด้วย* ตัวอย่างเช่น withyear (วันที่วันที่ long newValue) เพื่อปรับเปลี่ยนเวลาและมูลค่าปีปัจจุบันเป็น newValue
(5) รับ 2 ครั้งในการเปรียบเทียบระหว่าง* ตัวอย่างเช่น Betweentotaldays (วันที่ startinclusive, วันที่ endexclusive) เปรียบเทียบ 2 ครั้งเพื่อส่งคืนจำนวนวันทั้งหมด
(6) วิธีการทั่วไปอื่น ๆ เช่น isleapyear (วันที่วันที่) เพื่อพิจารณาว่าเป็นปีก้าวกระโดด isweekend (วันที่) เพื่อพิจารณาว่าเป็นวันหยุดสุดสัปดาห์หรือไม่
(7) วิธีการคำนวณการแปลงโซนเวลา, แปลง*เช่นการแปลง (ZonedDateTime ZonedDateTime, String ZoneID)
(8) เปรียบเทียบ 2 ครั้งและวิธีการเท่าเทียมกันเปรียบเทียบ*เช่นเปรียบเทียบ (วันที่วันที่ 1 วันที่วันที่ 2)
(9) รับวิธีการเวลาเริ่มต้นที่แน่นอนเริ่มต้น*, สิ้นสุด*เช่น starttimeofmonth () เวลาเริ่มต้นของเดือนวันแรกวันที่ +00: 00: 00, endtimeofmonth () วันสุดท้าย +23: 59: 59 แม่นยำถึงวินาที; endaccuracytimeof*, แม่นยำถึงมิลลิวินาที (วันที่), แม่นยำถึงนาโนวินาที (localdatetime)
(10) วิธีการเปรียบเทียบและตัดสินในเดือนและวันเดียวกัน issamemonthday*ระหว่าง NextSamemonthday*, NextSamemonthday*ตัวอย่างเช่นสำหรับการตัดสินการเปรียบเทียบวันที่เป็นระยะเช่นวันเกิดเทศกาล ฯลฯ
(11) วิธีการคำนวณกลุ่มดาว, getConstellation*เช่น getConstellationNamecn (String MonthaySTR) คำนวณกลุ่มดาวตามวันที่
(12) คำนวณรายการเวลาของปีและเดือนที่กำหนดหรือช่วงเวลาเริ่มต้นรับ*รายการเช่น getDateList (ปี int, เดือน int) คำนวณรายการเวลาของปีและเดือนที่กำหนด
(13) วิธีการลดความแม่นยำของเวลา, reduceaccuracyto*เช่น ReduceaccuracyToday (วันที่) ลดความแม่นยำของเวลาเป็นวันและเพิ่ม 0 ไปยังวิธีอื่น ๆ กลับตัวอย่างเช่น 2020-04-23 00:00:00
(14) รับวิธีการประทับเวลา getEpoch*ตัวอย่างเช่น getEpochmilli () ได้รับการประทับเวลา, getEpochmilliformat () ได้รับสตริงรูปแบบการประทับเวลา (YYYY-MM-DD HH: MM: SS)
(15) วิธีการคำนวณอายุ, getage*เช่น getage (วันเกิดวันที่) คำนวณอายุตามวันเกิด
(16) วิธีการในการพิจารณาว่าวันเกิดอยู่ที่นี่หรือไม่ isbirthday*ตัวอย่างเช่น isBirthday (วันเกิดวันที่) ตรวจสอบว่าวันที่ปัจจุบันอยู่ที่นี่ตามวันเกิดหรือไม่
(17) วิธีการคำนวณจำนวนสัปดาห์สัปดาห์*เช่นสัปดาห์ที่ (วันที่) ซึ่งสัปดาห์ใดของเดือนที่เป็นวันที่
(18) พิจารณาว่าวิธีวันจันทร์และวันศุกร์หรือไม่วันพุธ*, Iszhouyi*เช่น Iszhouyi (วันที่), ismonday
(19) วิธีการคำนวณสิบสองชั่วโมง, gettwelvetwo*เช่น getTwelvetwo (วันที่) รับสิบสองชั่วโมงที่สอดคล้องกับเวลาที่กำหนด
(20) วิธีการคำนวณไตรมาส, getquarter*เช่น getquarter (วันที่) รับไตรมาสที่สอดคล้องกับเวลาที่กำหนด
(21) รับวิธีการเวลาเริ่มต้นที่ถูกต้องสำหรับไตรมาส (สี่ไตรมาส), starttimeof*ไตรมาสเช่น starttimeoffirstquarter (ปี int) รับไตรมาสแรกของปีที่กำหนด
(22) รับวิธีการเริ่มต้นเวลาที่ถูกต้องของปี, starttimeofyear เช่น starttimeofyear (ปี int) รับเวลาเริ่มต้นของปีที่กำหนด
(23) เวลาที่ใช้กันทั่วไป (พรุ่งนี้สัปดาห์หน้าเดือนหน้าปีหน้า ฯลฯ ) วิธีการคำนวณเช่นพรุ่งนี้ () คำนวณวันพรุ่งนี้และวันที่ส่งคืน
(24) แก้ไขวิธีการของสัปดาห์ด้วยวันที่สัปดาห์*เช่น withdayofweek (วันที่วันที่, Long NewValue), ปรับเปลี่ยนสัปดาห์เป็นค่าที่กำหนดนิววาร์วูและวันที่ส่งคืน
(25) การคำนวณวันทำงานของจีน (รวมถึงข้อมูลวันหยุด) รวมถึงวิธีการต่าง ๆ เช่นการพิจารณาว่าวันที่ปัจจุบันเป็นวันทำการและวันทำการถัดไป ischineseworkday*, NextChineseworkday*,
ตัวอย่างเช่น ischineseworkday (วันที่, สตริง HolidayData), NextChineseworkday (วันที่วันที่, สตริง HolidayData),
ข้อมูลวันหยุดหากข้อมูลวันหยุดไม่สนับสนุนปีมันจะถูกตัดสินตั้งแต่วันจันทร์ถึงวันศุกร์เป็นวันทำการ ด้านล่างนี้เป็นข้อมูลวันหยุดที่ฉันรวบรวมในปี 2021:
2021-01-01: 0,2021-02-07: 1,2021-02-11: 0,2021-02-12: 0,2021-02-15: 0,2021-02-16: 0,202 1-02-17: 0,2021-02-20: 1,2021-04-05: 0,2021-04-25: 1,2021-05-03: 0,2021-05-04: 0,2021-0 5-05: 0,2021-05-08: 1,2021-06-14: 0,2021-09-18: 1,2021-09-20: 0,2021-09-21: 0,2021-09-2 6: 1,2021-10-01: 0,2021-10-04: 0,2021-10-05: 0,2021-10-06: 0,2021-10-07: 0,2021-10-09: 1
(26) พิจารณาว่ามีวิธีการทับซ้อน (ทางแยก) เป็นเวลา 2 ช่วงเวลาหรือมากกว่าหรือไม่, isoverlap*เช่น isoverlap (วันที่ startdate1, วันที่ enddate1, วันที่ startdate2, วันที่ enddate2), การทับซ้อนกลับจริง
(27) วิธีการคำนวณเวลาเฉลี่ย, ค่าเฉลี่ย*เช่น averagetime (รายการ datelist), ส่งคืนเวลาเฉลี่ยเช่น "15:03:03"
(28) คำนวณวิธีการนับถอยหลังตามค่ามิลลิวินาทีรองรับวัตถุเวลาที่เข้ามาและรูปแบบที่ระบุนับถอยหลัง*เช่นการนับถอยหลัง (มิลลิสยาว) และส่งคืนการนับถอยหลังเช่น "27 ชั่วโมง 10 นาที 30 วินาที"
(29) รับเมธอดเวลาการจัดรูปแบบสำหรับช่วงเวลาที่กำหนดเช่น getDateFormatList (วันที่เริ่มต้นวันที่สิ้นสุดวันที่สตริงวันที่) รองรับการส่งผ่านในเทมเพลตการจัดรูปแบบ
(30) คำนวณวิธีการทับซ้อน (สี่แยก) ของระยะเวลา 2 ช่วงเวลาเช่นการทับซ้อนกัน (วันที่ startDate1, วันที่ enddate1, วันที่ startDate2, วันที่ enddate2) และส่งคืนค่ามิลลิวินาที
สำหรับการใช้งานโดยละเอียดคุณสามารถดูรหัสทดสอบที่เกี่ยวข้อง: DateTimecalculatorutiltest
มีรูปแบบวันที่ทั่วไปเช่น:
yyyy-mm-dd
HH: MM: SS
YYYY-MM-DD HH: MM: SS
YYYY-MM-DD HH: MM: SS.SSS
YYYY-MM-DD HH: MM: SS.SSSSSSSSSSS
yyyy-mm-dd hh: mm: ss.sssssssssssssssssss
yyyy-mm-dd't'hh: mm: ssz ฯลฯ รองรับเวลาที่แม่นยำเช่นมิลลิวินาที microseconds และ nanoseconds
(1) วิธีการจัดรูปแบบรูปแบบ*เช่น formattodatestr (วันที่วันที่) ส่งคืนส่วนวันที่เช่น: yyyy-mm-dd;
รูปแบบ (วันที่วันที่ DatetimeFormatter Formatter) Formatter คุณสามารถเลือก Formatter ที่กำหนดไว้เช่น YYYY_MM_DD_HH_MM_SS_FMT (YYYY-MM-DD HH: MM: SS) วันที่จัดรูปแบบ
(2) วิธีการวิเคราะห์แยกวิเคราะห์*เช่น ParsedatestRtodate (ข้อความสตริง) แยกวิเคราะห์วันที่ yyyy-mm-dd, วันที่ส่งคืน;
parsetodate (ข้อความสตริง, dateTimeFormatter formatter) แยกวิเคราะห์จนถึงวันที่ตามรูปแบบ
(3) วิธีการแยกวิเคราะห์อัตโนมัติรับรู้และแยกวิเคราะห์โดยอัตโนมัติตามคุณสมบัติของสตริง smartparse*เช่น smartparsetodate (ข้อความสตริง) จะแยกวิเคราะห์วันที่โดยอัตโนมัติ
(4) วิธีการแยกวิเคราะห์อัตโนมัติสำหรับรูปแบบ ISO (รวมถึง T) ได้รับการยอมรับโดยอัตโนมัติและแยกวิเคราะห์ตามลักษณะของสตริง Parseiso*เช่น parseisotodate (ข้อความสตริง) วิเคราะห์วันที่โดยอัตโนมัติ
(5) วิธีการวิเคราะห์เวลาการแยกวิเคราะห์ parseepochmilli*เช่น parseepochmillitodate (ข้อความสตริง) การวิเคราะห์เวลาของการแยกวิเคราะห์เป็นวันที่เช่น 1590224790000
(6) แยกวิเคราะห์รูปแบบเริ่มต้นของวันที่, parsedatedefaultstr*เช่น parsedatedefaultstrtodate (ข้อความสตริง)
วิเคราะห์ eee mmm dd hh: mm: ss zzz yyyy ตัวอย่างเช่นวันเสาร์ 23 พฤษภาคม 17:06:30 CST 2020 เป็นวันที่
(7) วิธีการจัดรูปแบบโซนเวลาที่กำหนดเองเช่นรูปแบบ (วันที่วันที่, รูปแบบ dateTimeFormatter, String ZoneID), วันที่รูปแบบตาม ZoneID
(8) ปรับแต่งวิธีการจัดรูปแบบเทมเพลตเช่นรูปแบบ (วันที่วันที่, สตริงวันที่ DateFormatPattern), วันที่รูปแบบตามวันที่ DateFormatPattern
(9) วิธีการแยกวิเคราะห์เทมเพลตแบบกำหนดเองเช่น parsetodate (ข้อความสตริง, สตริง dateformatpattern), วันที่รูปแบบตามวันที่ DateFormatPattern
(10) รูปแบบเริ่มต้นเวลา (YYYY-MM-DD HH: MM: SS.FFFFFFFFFFFF โดยที่ nanoseconds fffffFFF, ละเว้นวิธีการจัดรูปแบบ 0)
ตัวอย่างเช่น formattimestampstyle (วันที่วันที่)
(11) รูปแบบเริ่มต้นเวลา (YYYY-MM-DD HH: MM: SS.FFFFFFFFFFFF โดยที่ FFFFFFFF เป็นนาโนวินาทีโดยละเว้น 0 ต่อไปนี้)
ตัวอย่างเช่น parsetimestampstyletodate (ข้อความสตริง)
(12) วิธีการตรวจสอบว่ารูปแบบวันที่ถูกต้องหรือไม่ isvaliddate*เช่น isvaliddate (ข้อความสตริง) ตรวจสอบว่าสตริงรูปแบบ yyyy-MM-DD นั้นถูกต้องหรือไม่
(13) ตามวิธีการแยกวิเคราะห์อาร์เรย์เทมเพลตที่กำหนดเองเช่น parsetodate (ข้อความสตริง, สตริง [] dateformatpatterns), วันที่ formatpatterns รองรับหลายเทมเพลตและตราบใดที่หนึ่งในการแยกวิเคราะห์ประสบความสำเร็จวันที่ที่สอดคล้องกันจะถูกส่งกลับ
(14) วิเคราะห์เวลาภาษาธรรมชาติวันนี้พรุ่งนี้สัปดาห์หน้าเดือนหน้าปีหน้าเมื่อวานนี้สัปดาห์ที่แล้วเดือนที่แล้วปีที่แล้ว ฯลฯ เช่น Parsenaturallanguagetodate (ข้อความสตริง)
parsenaturallanguagetodate (ข้อความสตริง, แผนที่ <สตริง, สตริง> naturallanguagemap) รองรับแผนที่เวลาภาษาธรรมชาติที่กำหนดเอง
(15) วิธีการจัดรูปแบบวันที่จีนเช่น formattochinesedatestres (วันที่, บูลีน isuppercase), isuppercase false: 11 กันยายน 2021 จริง: 11 กันยายน 2021
(16) วิธีการวิเคราะห์วันที่จีนเช่น ParsechinesedatestTodate (ข้อความสตริง), การสนับสนุน: 11 กันยายน 2021 และ 11 กันยายน, 2021 การวิเคราะห์วันที่รูปแบบ
หมายเหตุ: เมื่อการจัดรูปแบบและแยกวิเคราะห์เวลาที่แตกต่างจากเขตเวลาของระบบให้ใช้วิธีการจัดรูปแบบโซนเวลาที่กำหนดเองหรือคุณสามารถใช้วิธี Withzone เพื่อรีเซ็ตโซนเวลาเช่น:
yyyy_mm_dd_hh_mm_ss_sss_fmt.withzone (zoneid.of ("ยุโรป/ปารีส")
สำหรับการใช้งานโดยละเอียดคุณสามารถดูรหัสทดสอบที่เกี่ยวข้อง: DateTimeFormatterTiltest
รวม:
(1) สร้างปฏิทินสำหรับเวลาที่กำหนด (ปฏิทินที่มีลำดับชั้นของปีเดือนและวัน) Generatecalendar* ตัวอย่างเช่น Generatecalendar (Int Year, Int Month) สร้างปฏิทินสำหรับปีและเดือนที่กำหนด
(2) สร้างปฏิทินของเวลาที่กำหนด (ปฏิทินที่มีลำดับชั้นของปีเดือนและวัน) รวมถึงปฏิทินจันทรคติและวิธีการข้อมูลวันหยุดทั้งหมด, generatecalendarwithholiday*, generatecalendarwithholiday ของปีและเดือนที่กำหนดรวมถึงปฏิทินจันทรคติและข้อมูลวันหยุดทั้งหมดและสามารถปรับแต่งวันหยุดและวันทำงาน ฯลฯ
สำหรับการใช้งานโดยละเอียดคุณสามารถดูรหัสทดสอบที่เกี่ยวข้อง: CalendarUtiltest
รวม:
(1) การคำนวณวันที่จันทรคติปีเดือนและวัน
(2) คำนวณสัญญาณราศีในระหว่างปฏิทินจันทรคติ
(3) การคำนวณคำศัพท์แสงอาทิตย์ยี่สิบสี่ ฯลฯ (4) หมายเหตุเกี่ยวกับปฏิทินจันทรคติไปยังปฏิทิน Gregorian: มีเพียงการแปลงปฏิทินจันทรคติในปี 1900-2100 Gregorian ปฏิทินเท่านั้น
สำหรับการใช้งานโดยละเอียดคุณสามารถดูรหัสทดสอบที่เกี่ยวข้อง: LunardateTest
รวม:
(1) คำนวณวันหยุด Gregorian, getLocalholiday* ตัวอย่างเช่น getLocalholiday (วันที่วันที่) คำนวณวันหยุดของ Gregorian วันที่, getLocalholiday (วันที่, แผนที่ <สตริง, สตริง> localholidaymap)
(2) การคำนวณวันหยุดทางจันทรคติ, getchineseholiday* ตัวอย่างเช่น getchineseholiday (วันที่วันที่) คำนวณวันหยุดทางจันทรคติของวันที่, getchineseholiday (วันที่, แผนที่ <สตริง, สตริง> chineseholidaymap) สามารถผ่านข้อมูลวันหยุดทางจันทรคติที่กำหนดเอง
(3) การคำนวณคำศัพท์แสงอาทิตย์ยี่สิบสี่, getSolarterm* ตัวอย่างเช่น getSolarterm (วันที่วันที่) คำนวณเงื่อนไขการใช้พลังงานแสงอาทิตย์ยี่สิบสี่ของวันที่
หมายเหตุ: Lunardate ใช้ในปฏิทินจันทรคติและคำศัพท์แสงอาทิตย์ยี่สิบสี่และสนับสนุนการคำนวณของปฏิทิน Gregorian ในปี 1900-2100 เท่านั้น
คุณสามารถดูรหัสทดสอบที่เกี่ยวข้องสำหรับการใช้งานโดยละเอียด
การแสดงออกของ cron จากซ้ายไปขวา (คั่นด้วยช่องว่าง): วินาที (0-59) นาที (0-59) ชั่วโมง (0-23) วันที่ (1-31) เดือน (จำนวนเต็ม 1-12 หรือ ม.ค.-ธ.ค. ) สัปดาห์ (จำนวนเต็ม 1-7 หรือดวงอาทิตย์-ซต (1 = ดวงอาทิตย์)) ปี
อักขระพิเศษสามารถใช้สำหรับทุกฟิลด์:, - * / คือการแจงนับ, ช่วง, ระยะเวลา, วันที่ช่วงเวลาและอื่น ๆ :? LW เป็นวันทำงานสุดท้ายที่ถูกต้อง (วันจันทร์ถึงวันศุกร์)
คุณสามารถใช้สัปดาห์:? l # คืออะไรและในที่สุดการแสดงออกของ cron มักใช้กันทั่วไปในสัปดาห์ของแต่ละเดือน:
(1) 0 0 2 1 *? * ระบุว่าทริกเกอร์เวลา 2 โมงเช้าในวันที่ 1 ของเดือน (2) 0 15 10? * วันจันทร์ถึงศุกร์ระบุว่าการมอบหมายจะดำเนินการเวลา 10:15 น. ในวันจันทร์ถึงวันศุกร์ (3) 0 15 10? * 6L 2002-2006 ระบุว่าการมอบหมายจะดำเนินการเวลา 10:15 น. ในวันศุกร์สุดท้ายของแต่ละเดือนตั้งแต่ปี 2545-2559 (4) 0 0/30 9-17 * *? ระบุทุกครึ่งชั่วโมง (5) 0 15 10 L *? ระบุว่าทริกเกอร์เวลา 10:15 น. ในวันสุดท้ายของแต่ละเดือน (6) 0 15 10? * 6#3 หมายถึงการกระตุ้นเวลา 10:15 น. ในวันศุกร์ที่สามของแต่ละเดือน (6) 0 15 10? * 6#3 หมายถึงการกระตุ้นเวลา 10:15 น. ในวันศุกร์ที่สามของแต่ละเดือน (4) 0 0/30 9-17 * *? ระบุทุกครึ่งชั่วโมง (5) 0 15 10 L *? ระบุว่าทริกเกอร์เวลา 10:15 น. ในวันสุดท้ายของแต่ละเดือน (6) 0 15 10? * 6#3 หมายถึงการกระตุ้นเวลา 10:15 น. ในวันศุกร์ที่สามของแต่ละเดือน (6) 0 15 10? * 6#3 หมายถึงการกระตุ้นเวลา 10:15 น. ในวันศุกร์ที่สามของแต่ละเดือน (6) 0 15 10? -
มี (1) การตรวจสอบความถูกต้องและการจัดรูปแบบวิธีการแสดงออก cron, isvalidexpression และ formatexpression
(2) สร้างวิธีการดำเนินการต่อไปหรือมากกว่านั้น GetNextTime และ GetNextTimelist
(3) สร้างการจัดรูปแบบวันที่ (YYYY-MM-DD HH: MM: SS) วิธีการดำเนินการครั้งต่อไป GetNextTimestr และ GetNextTimestrlist
(4) เปรียบเทียบว่าเวลาดำเนินการครั้งต่อไปของนิพจน์ cron เท่ากับวิธีวันที่ที่ระบุ Issatisfiedby หรือไม่
หมายเหตุ: เลเยอร์พื้นฐานใช้การประมวลผล cronexpression ของควอตซ์
สำหรับการใช้งานโดยละเอียดคุณสามารถดูรหัสทดสอบที่เกี่ยวข้อง: cronexpressionutiltest
การคำนวณเครื่องมือใช้เวลานานรองรับวินาทีมิลลิวินาทีมิลลิวินาทีนาโนวินาที
รวม:
(1) การคำนวณต้องใช้เวลาและส่งคืนผลลัพธ์ที่ใช้เวลานาน
(2) การคำนวณต้องใช้เวลาปรับแต่งชื่องานและผลลัพธ์ที่ใช้เวลานาน
(3) เวลาการคำนวณส่งคืนเวลาที่แม่นยำด้วยทศนิยม 3 ทศนิยมใช้ round_down เพื่อทิ้งส่วนทศนิยมที่เกิน 3 หลัก ฯลฯ
สำหรับการใช้งานโดยละเอียดคุณสามารถดูรหัสทดสอบที่เกี่ยวข้อง: costuitltest
รวมถึงฟังก์ชั่น:
(1) วิเคราะห์ภาษาธรรมชาติของเวลาตามเวลาปัจจุบัน
(2) วิเคราะห์ภาษาธรรมชาติของเวลาตามเวลาที่กำหนด
(3) เพิ่มวิธีการโทรที่หลากหลายเช่นการดำเนินการพร้อมกันของ ParseconCurrent ซึ่งสามารถกำหนดเวลาหมดเวลาและพูลเธรดที่กำหนดเองเพื่อปรับปรุงประสิทธิภาพการดำเนินการ
แก้ไขจาก https://github.com/shinyke/time-nlp
มีการแก้ไขบางอย่างดังนี้:
(1) ห่อหุ้มคุณลักษณะและเปลี่ยนชื่อให้สอดคล้องกับมาตรฐานการตั้งชื่ออูฐ
(2) เปลี่ยนการโหลดไฟล์ทรัพยากรปกติเป็นการโหลดซิงเกิลตัน
(3) การแบ่งชั้นเรียนใหม่เป็นคลาสแยกต่างหากตามฟังก์ชั่นของพวกเขา
(4) เขียนใหม่โดยใช้ Java 8 Date API
(5) เพิ่มความคิดเห็นและเพิ่มประสิทธิภาพรหัส
(6) ซ่อมแซมปัญหาในโครงการดั้งเดิม: เวลามาตรฐาน YYYY-MM-DD, YYYY-MM-DD HH: MM: SS และ YYYY-MM-DD HH: ปัญหาการวิเคราะห์ MM
(7) แก้ไขปัญหาในโครงการดั้งเดิม: 1 ชั่วโมง 1 ชั่วโมงครึ่ง 1 ชั่วโมงและ 50 นาทีและปัญหาการวิเคราะห์อื่น ๆ และสนับสนุนเป็นวินาทีเช่น 50 วินาที 10 นาทีและ 30 วินาที
(8) ซ่อมแซมปัญหาในโครงการดั้งเดิม: เวลาปัจจุบันสำหรับการซ่อมคือ 10.00 น. ดังนั้นสาม PM จะถูกระบุว่าเป็นปัญหาของสามโมงในวันพรุ่งนี้
(9) แก้ไขปัญหาในโครงการดั้งเดิม: แก้ไขปัญหาข้อยกเว้นความละเอียดทศนิยม
(10) การเพิ่มประสิทธิภาพประสิทธิภาพ, precompile การใช้งานปกติที่ใช้แล้วใส่ลงในแคชและใช้มันโดยตรงในครั้งต่อไปเพื่อปรับปรุงประสิทธิภาพ
หมายเหตุ: NLP จะมีอัตราความล้มเหลวในการรับรู้บางอย่างและจะยังคงทำซ้ำและปรับปรุงอัตราความสำเร็จ
คุณสมบัตินี้ไม่รวมอยู่ในรุ่นมินิ
สำหรับการใช้งานโดยละเอียดคุณสามารถดูรหัสทดสอบที่เกี่ยวข้อง: timenlputiltest
ค่าคงที่หน่วยเวลาซึ่งอำนวยความสะดวกในการคำนวณการแปลงหน่วยเช่นการตั้งค่าเวลาแคชเป็นเวลา 3 วัน: 3*มิลลิวินาที _per_day (24*60*60*60*1,000 มิลลิวินาทีต่อวัน)
รวม:
(1) แปลงค่าของหน่วยพื้นฐานเช่น milliseconds_per_seconds 1,000 มิลลิวินาทีต่อวินาที
(2) แปลงเป็นค่าพื้นฐานของวินาทีเช่นวินาที _per_day จำนวนวินาทีต่อวันคือ 24*60*60
(3) แปลงเป็นค่าพื้นฐานของมิลลิวินาทีเช่นมิลลิวินาที _per_day จำนวนมิลลิวินาทีต่อวันคือ 24*60*60*1000
สำหรับการใช้งานโดยละเอียดคุณสามารถดูรหัสทดสอบที่เกี่ยวข้อง: XktimeconstantTest
(1) โครงการส้อม
(2) แก้ไขในสาขา dev
(3) ส่งคำขอดึง
(1) วันหยุดทั่วไปเช่นวันปีใหม่เทศกาลฤดูใบไม้ผลิเทศกาลชิงมิงวันแรงงานเทศกาลเรือมังกรเทศกาลกลางฤดูร้อนและวันหยุดอื่น ๆ
(2) สนับสนุนโดย 24 คำศัพท์แสงอาทิตย์