2013-06-24 15 views
-3
long epoch = System.currentTimeMillis()/1000; 
String dateStr = new java.text.SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'.0Z'").format(new java.util.Date(epoch * 1000)); 
System.out.println(dateStr); 

Может ли кто-нибудь рассказать мне, как получить отметку времени от 4 недель от текущей? Я работаю над проверкой зарплаты.Вычесть четыре недели с текущей отметки времени

ответ

3

Вычитайте количество миллисекунд за 4 недели с текущего времени.

long now = System.currentTimeMillis(); 
long fourWeeksAgo = now - 1000 * 60 * 60 * 24 * 28; 
+2

Хотя это может работать в данном конкретном случае, вы действительно должны использовать 'Calendar'to гадость с время/дата –

2

java.util.Calendar обеспечивает средства манипулирования датами, так что код читается:

Calendar calendar = Calendar.getInstance(); 
calendar.add(Calendar.WEEK_OF_YEAR, -4); 
long fourWeeksAgo = calendar.getTime().getTime(); 
1
java.util.Calendar c = java.util.Calendar.getInstance(); 
c.add(java.util.Calendar.WEEK_OF_MONTH, -4);