2012-05-30 25 views

Trả lời

8

1. Phân tích chuỗi ngày

Phân tích chuỗi ngày tháng. Tôi đã cung cấp một chức năng nhỏ tách từ cho biết ngày tắt và phân tích cú pháp. Tôi đã thêm một số tên thuận tiện hơn cho ngày tháng, nhưng bạn có thể dễ dàng thêm nhiều hơn nếu cần thiết, thông báo tôi chuyển đổi thành chữ thường! Nó sử dụng XQuery date and time functions để tính toán ngày kết hợp.

declare function local:from-relative-date($string as xs:string) as xs:date { 
    switch (lower-case(substring-before($string, ","))) 
     case "today"    return current-date() 
     case "yesterday"   return current-date() - xs:dayTimeDuration('P1D') 
     case "day before yesterday" return current-date() - 2 * xs:dayTimeDuration('P1D')  
     case "tomorrow"    return current-date() + xs:dayTimeDuration('P1D')  
     case "day after tomorrow" return current-date() + 2 * xs:dayTimeDuration('P1D')  
     default      return error(xs:QName("XPTY0004"), "Unknown Date") 
}; 

2. Định dạng ngày

Bây giờ sử dụng XQuery 3.0 chức năng format-date(...) (Tôi hy vọng cơ XQuery của bạn hỗ trợ nó, Basex mà tôi sử dụng ví dụ này) để định dạng chuỗi ngày như bạn cần nó :

format-date(local:from-relative-date("Yesterday, 22:13"), "[Y]-[M00]-[D00]") 

Nếu không, bạn sẽ phải sử dụng year-from-date(...) và chức năng theo cho monthday, sử dụng một số định dạng số và nối chính mình.

+0

+1, Aww Đó là những thứ như thế này. Chúng tôi thực sự cần thuyết phục nơi tôi làm việc để cập nhật sự tồn tại của mình! – matchew

Các vấn đề liên quan