2012-05-02 16 views
13

Tôi đang xây dựng một hệ thống cần cung cấp bình luận về những thứ bằng tiếng Anh tự nhiên. Một điều được sử dụng là để có thể thể hiện ngày trong một định dạng bình thường. Những gì tôi đang tìm kiếm về cơ bản là nghịch đảo của Chronic, Natty hoặc tác vụ được mô tả trong câu hỏi này: Natural Language date and time parser for java.Trình tạo ngôn ngữ tự nhiên cho các ngày (Java)

Đây có phải là quá xa để thực hiện? Tôi có nên thử và cuộn phần cứng đơn giản của riêng mình cho các phạm vi ngày có ý nghĩa với tôi không? Hoặc là có một số cách thông minh để đảo ngược phân tích cú pháp hiện tại để nhổ ra (thậm chí bị cắt xén) câu mô tả ngày?

EDIT - Để làm rõ, mặc dù bất kỳ loại loại đầu ra nào thú vị và hữu ích, tôi đặc biệt quan tâm đến việc tạo ra sản phẩm đa dạng/sáng tạo. tức là "Tuần tới", "bảy ngày nữa", "Thứ Năm tới" và "cuối tuần tới" tất cả cho cùng một ngày.

+4

Chúng chắc chắn tồn tại, tức là [javascript] (https://github.com/timrwood/moment). Tuy nhiên, tôi không thể nhớ lại bất kỳ điều gì cho java. – Andrew

+1

Tôi không hoàn toàn hiểu những gì bạn đang hỏi, nhưng có vẻ như bạn muốn tạo ra "Thứ Tư, hai tháng Năm của hai ngàn và mười hai" (~) trong "05/02/2012" (~), là nó đúng ? Nếu vậy, không quá khó để mã hóa một hàm sẽ cung cấp cho bạn (các) kết quả mong muốn. Xem lớp DateFormat của java: http://docs.oracle.com/javase/6/docs/api/java/text/DateFormat.html – XenoRo

+0

@ TheLima Tôi nghĩ rằng nó muốn nhiều hơn, '05/03/2012' ->' tomorrow' hoặc '05/07/2012' ->' next monday' – Andrew

Trả lời

4

Không có nhiều thứ ở đó. Cá nhân tôi rất muốn nhìn thấy một biến thể của SimpleDateFormatter được gọi là RelativeDateFormatter mà sẽ cho phép người ta tạo ra các biến thể riêng của họ về các định dạng ngày tương đối. Dưới đây là những gì tôi tìm thấy:

  • Một lớp đơn giản Relative Date.
  • A relative date formatter (vì vậy, ai đó đã làm hãy tạo một tài khoản!).
  • Pretty time cũng trông giống như nó phù hợp với các hóa đơn - của nó trong một repo maven nơi nào đó, nếu thats một cái gì đó bạn tìm thấy mong muốn ...

Chỉ cần một sang một bên, tôi nhận thấy bài này về why relative date formats suck. Cung cấp chỉ ngày tương đối có thể là một sai lầm: nếu thông tin sẽ được lưu vào một ngày sau đó, ngày tương đối có thể là vô dụng. Trong một trang web tôi đã cung cấp cho tôi một mouseover với ngày tuyệt đối, và các quy tắc CSS để in ngày tuyệt đối. Tôi đoán điều cần lưu ý: xem xét cách thức/thời điểm ngày sẽ được xem. Nếu họ là bất cứ điều gì khác hơn "NOW" thì bạn có thể muốn xem xét bao gồm cả ngày tuyệt đối là tốt.

+0

Tôi thích Pretty Time, trông rất đẹp. Tôi sẽ xem xét cả điều đó và đề xuất của Andrew về 'thời điểm' trong cơ hội sớm nhất. Tôi sẽ lấy lại cho bạn sau đó! – mtrc