2010-11-08 71 views

Trả lời

5

Bạn chuyển đổi java.sql.Timestamp thành java.sql.Date và gửi nó qua Lịch.

java.sql.Timestamp ts = rs.getTimestamp(1); 
java.util.GregorianCalendar cal = Calendar.getInstance(); 
cal.setTime(ts); 
System.out.println(cal.get(java.util.Calendar.DAY_OF_WEEK)); 
+1

Tôi nghĩ 'Calendar.get()' trả về một số nguyên. Vì vậy, điều này có nghĩa là bạn vẫn phải tạo một chuỗi đại diện cho ngày trong tuần. –

+3

Hoàn toàn không cần phải xây dựng một ngày mới trên đó. Dấu thời gian 'là một ** lớp con ** của' java.util.Date'. Vì vậy, 'cal.setTime (ts)' sẽ hoạt động tốt. Hơn nữa, thực hành được đề nghị là để có được lịch của nhà máy trừu tượng của nó là 'Calendar cal = Calendar.getInstance()'. – BalusC

+0

Câu trả lời được cải thiện :) – bwawok

2

SimpleDateFormat sẽ cung cấp một Locale đại diện cụ thể sử dụng mô hình "EEEE": sử dụng

public static final String getDayName(final java.util.Date date, final java.util.Locale locale) 
      { 
      SimpleDateFormat df=new SimpleDateFormat("EEEE",locale); 
      return df.format(date); 
      } 

Ví dụ:

System.out.println(getDayName(new Date(),Locale.US)); 

lợi nhuận Tuesday.

Nhưng hãy cẩn thận rằng new SimpleDateFormat(..)expensive.

+0

không sử dụng này! cos SimpleDateFormat không đo múi giờ (https://stackoverflow.com/questions/18122608/simpledateformat-parse-loses-timezone/18124407#18124407) nhưng khi bạn đặt thời gian từ lâu, bạn không biết múi giờ! –

5

Nếu ts là đối tượng Timestamp của bạn sau đó để có được tháng ở định dạng chuỗi:

String month = (new SimpleDateFormat("MMMM")).format(ts.getTime()); // "April" 

và cho ngày trong tuần:

String day = (new SimpleDateFormat("EEEE")).format(ts.getTime()); // "Tuesday" 
+0

không sử dụng quyền này! cos SimpleDateFormat không đo múi giờ (https://stackoverflow.com/questions/18122608/simpledateformat-parse-loses-timezone/18124407#18124407) nhưng khi bạn đặt thời gian từ lâu, bạn không biết múi giờ! –

+0

Bất kỳ thời gian nào được biểu diễn trong thời gian dài được biểu thị bằng số mili giây kể từ thời đại. Đây là UTC. –

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