Advertisement
Manavard

Untitled

Jun 3rd, 2019
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.37 KB | None | 0 0
  1. package datetime;
  2.  
  3. import java.time.ZonedDateTime;
  4. import java.time.ZoneId;
  5. import java.time.Instant;
  6. import java.time.temporal.ChronoUnit;
  7. import java.util.Locale;
  8. import java.util.ResourceBundle;
  9. import java.util.Scanner;
  10. import java.lang.String;
  11.  
  12.  
  13. public class DateTimeProgramm {
  14.  
  15. private static final String RU_LANG = "RU";
  16.  
  17. public static void main(String[] args) {
  18. System.out.println("Выберете язык: \n en - EN\n ru - RU \n uz - UZ\n");
  19.  
  20. Scanner scanner = new Scanner(System.in);
  21. String localeStr = scanner.next();
  22. ResourceBundle resourceBundle = ResourceBundle.getBundle(("messages"), Locale.forLanguageTag(localeStr));
  23.  
  24. System.out.println(resourceBundle.getString("languageSelected"));
  25. System.out.println(resourceBundle.getString("insertTheNumber"));
  26.  
  27. long num = scanner.nextLong();
  28. scanner.close();
  29.  
  30. ZonedDateTime startTime = Instant.ofEpochMilli(0).atZone(ZoneId.of("Asia/Tashkent"));
  31. ZonedDateTime endTime = Instant.ofEpochMilli(num).atZone(ZoneId.of("Asia/Tashkent"));
  32.  
  33. long daysBetween = ChronoUnit.DAYS.between(startTime, endTime);
  34. long weeksBetween = ChronoUnit.WEEKS.between(startTime, endTime);
  35.  
  36. if (localeStr.equalsIgnoreCase(RU_LANG)) {
  37. printForRuLocale(weeksBetween, daysBetween, resourceBundle);
  38. } else {
  39. printForOtherLocale(weeksBetween, daysBetween, resourceBundle);
  40. }
  41. System.out.println(resourceBundle.getString("bye"));
  42.  
  43. }
  44.  
  45. private static void printForOtherLocale(long weeks, long days, ResourceBundle resourceBundle) {
  46. System.out.print(weeks + " ");
  47. if (weeks == 1) {
  48. System.out.print(resourceBundle.getString("weeks") + " ");
  49. } else {
  50. System.out.print(resourceBundle.getString("weeks1") + " ");
  51. }
  52.  
  53. System.out.print(days + " ");
  54.  
  55. if (days == 1) {
  56. System.out.print(resourceBundle.getString("day1") + " ");
  57. } else {
  58. System.out.print(resourceBundle.getString("day2") + " ");
  59. }
  60. }
  61.  
  62. private static void printForRuLocale(long weeks, long days, ResourceBundle resourceBundle) {
  63. long lastDigitDay = days % 10;
  64. long lastDigitWeek = weeks % 10;
  65. long penultimateNumberDay = days / 10 % 10;
  66. long penultimateNumberWeek = weeks / 10 % 10;
  67.  
  68. System.out.print(weeks + " ");
  69. if (penultimateNumberWeek == 1) {
  70. System.out.print(resourceBundle.getString("weeks2") + " ");
  71. } else if (lastDigitWeek == 1) {
  72. System.out.print(resourceBundle.getString("weeks") + " ");
  73. } else if (lastDigitWeek >= 2 & lastDigitWeek <= 4) {
  74. System.out.print(resourceBundle.getString("weeks1") + " ");
  75. } else
  76. System.out.print(resourceBundle.getString("weeks2") + " ");
  77.  
  78. System.out.print(days + " ");
  79.  
  80. if (penultimateNumberDay == 1) {
  81. System.out.println(resourceBundle.getString("day3") + " ");
  82. } else if (lastDigitDay == 1) {
  83. System.out.println(resourceBundle.getString("day1") + " ");
  84. } else if (lastDigitDay >= 2 & lastDigitDay <= 4) {
  85. System.out.println(resourceBundle.getString("day2") + " ");
  86. } else
  87. System.out.println(resourceBundle.getString("day3") + " ");
  88. }
  89. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement