|
|
|
Результаты Calendar.roll(Calendar.MONTH, up / down): как возвращаться на "ту же" дату ?
|
|||
|---|---|---|---|
|
#18+
Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. Output: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Таким обр., roll() при движении туда-и-обратно на одно и тоже число месяцев, может возвращать дату, отличную от исходной. Дока явы об этом, впрочем, так прямо и говорит:авторWhen rolling on the month or Calendar.MONTH field, other fields like date might conflict and, need to be changed. For instance, rolling the month on the date 01/31/96 will result in 02/29/96 Между тем, методика добавления месяцев с сохранением "адекватного" номера дня давно известна: http://docs.oracle.com/cd/B19306_01/server.102/b14200/functions004.htm ADD_MONTHS( date, integer ) If date is the last day of the month or if the resulting month has fewer days than the day component of date, then the result is the last day of the resulting month. Otherwise, the result has the same day component as date. Как правильно "скакать" по месяцам в прямом и обратном направлении, чтобы не было показанного выше эффекта ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2013, 20:42:07 |
|
||
|
Результаты Calendar.roll(Calendar.MONTH, up / down): как возвращаться на "ту же" дату ?
|
|||
|---|---|---|---|
|
#18+
PS. мнда, что-то и с "foward-only" вариантом этого самого roll'a не очень красиво: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Output: Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2013, 20:55:03 |
|
||
|
Результаты Calendar.roll(Calendar.MONTH, up / down): как возвращаться на "ту же" дату ?
|
|||
|---|---|---|---|
|
#18+
ozzmosisчтобы не было показанного выше эффектаСкорее всего придется корректировать вручную, например, при помощи функции: Код: java 1. Возвращает кол-во дней в текущем месяце P.S. Нужно поковырять Joda-Time. Может там предусмотрели ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2013, 21:17:30 |
|
||
|
Результаты Calendar.roll(Calendar.MONTH, up / down): как возвращаться на "ту же" дату ?
|
|||
|---|---|---|---|
|
#18+
ozzmosis, Вроде оно самое (Joda-Time): Код: java 1. 2. 3. 4. 5. 6. Вывод: Код: java 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2013, 21:41:25 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=38275552&tid=2129273]: |
0ms |
get settings: |
15ms |
get forum list: |
26ms |
check forum access: |
6ms |
check topic access: |
6ms |
track hit: |
44ms |
get topic data: |
19ms |
get forum data: |
5ms |
get page messages: |
84ms |
get tp. blocked users: |
3ms |
| others: | 328ms |
| total: | 536ms |

| 0 / 0 |
