Advertisement
Manavard

Untitled

Jun 3rd, 2019
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.55 KB | None | 0 0
  1. package datetime;
  2.  
  3. import sun.util.resources.cldr.ru.CalendarData_ru_RU;
  4.  
  5. import java.security.acl.LastOwnerException;
  6. import java.time.LocalDateTime;
  7. import java.time.ZonedDateTime;
  8. import java.time.ZoneId;
  9. import java.time.Instant;
  10. import java.time.format.DateTimeFormatter;
  11. import java.time.temporal.ChronoUnit;
  12. import java.util.Locale;
  13. import java.util.MissingResourceException;
  14. import java.util.InputMismatchException;
  15. import java.util.ResourceBundle;
  16. import java.util.Scanner;
  17. import java.lang.String;
  18.  
  19.  
  20. public class DateTimeProgramm {
  21.  
  22. private static final String RU_LANG = "RU";
  23.  
  24. public static void main(String[] args) {
  25. try {
  26. System.out.println("Выберете язык: \n en - EN\n ru - RU \n uz - UZ\n");
  27.  
  28. Scanner scanner = new Scanner(System.in);
  29. String localeStr = scanner.next();
  30. Locale.setDefault(new Locale(localeStr, localeStr));
  31. ResourceBundle resourceBundle = ResourceBundle.getBundle("messages");
  32.  
  33. System.out.println(resourceBundle.getString("languageSelected"));
  34. long msFromEpoch = Instant.ofEpochMilli(0L).until(Instant.now(), ChronoUnit.MILLIS);
  35. int daysFromEpoch = (int) (msFromEpoch / 86400000);
  36. int yearsFromEpoch = daysFromEpoch / 365;
  37.  
  38. System.out.println(resourceBundle.getString("date") + ": " +
  39. LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
  40. System.out.println(resourceBundle.getString("moment") + " " + msFromEpoch + " " +
  41. resourceBundle.getString("mSec") + " " + daysFromEpoch + " " +
  42. resourceBundle.getString("days") +
  43. " " + yearsFromEpoch + " " + resourceBundle.getString("years"));
  44.  
  45. System.out.println(resourceBundle.getString("insertTheNumber"));
  46.  
  47. long num = scanner.nextLong();
  48. Instant dateTime = Instant.ofEpochMilli(num);
  49. scanner.close();
  50.  
  51. ZonedDateTime zonedDateTime = dateTime.atZone(ZoneId.of("Asia/Tashkent"));
  52. System.out.println(zonedDateTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
  53.  
  54. long daysBetween = ChronoUnit.DAYS.between(Instant.ofEpochMilli(0L), dateTime);
  55. long weeksBetween = daysBetween / 7;
  56.  
  57. if (localeStr.equalsIgnoreCase(RU_LANG)) {
  58. printForRuLocale(daysBetween, weeksBetween, resourceBundle);
  59. } else {
  60. printForOtherLocale(daysBetween, weeksBetween, resourceBundle);
  61. }
  62. System.out.println(resourceBundle.getString("bye"));
  63. /*
  64.  
  65. System.out.print(weeksBetween + " ");
  66. printForOtherLocale(dateTime, Locale.getDefault());
  67.  
  68. if (lastDigitWeek == 1) {
  69. System.out.print(RESOURCE_BUNDLE.getString("weeks") + " ");
  70. } else if (lastDigitWeek >= 2 & lastDigitWeek <= 14) {
  71. System.out.print(RESOURCE_BUNDLE.getString("weeks1") + " ");
  72. } else
  73. System.out.print(RESOURCE_BUNDLE.getString("weeks2") + " ");
  74.  
  75. System.out.print(daysBetween + " ");
  76.  
  77. if (lastDigitDay == 1) {
  78. System.out.println(RESOURCE_BUNDLE.getString("day1") + " ");
  79. } else if (lastDigitDay >= 2 & lastDigitDay <= 14) {
  80. System.out.println(RESOURCE_BUNDLE.getString("day2") + " ");
  81. } else
  82. System.out.println(RESOURCE_BUNDLE.getString("day3") + " ");
  83.  
  84.  
  85. */
  86. } catch (MissingResourceException | InputMismatchException exc) {
  87. System.out.println("Вы ввели недопустимое значение.");
  88. }
  89. }
  90.  
  91. private static void printForOtherLocale(long weeks, long days, ResourceBundle resourceBundle) {
  92.  
  93. System.out.print(weeks + " ");
  94. if (weeks == 1) {
  95. System.out.print(resourceBundle.getString("weeks") + " ");
  96. } else {
  97. System.out.print(resourceBundle.getString("weeks1") + " ");
  98. }
  99.  
  100. System.out.print(days + " ");
  101.  
  102. if (days == 1) {
  103. System.out.print(resourceBundle.getString("day1") + " ");
  104. } else {
  105. System.out.print(resourceBundle.getString("day2") + " ");
  106. }
  107.  
  108. }
  109.  
  110. private static void printForRuLocale(long weeks, long days, ResourceBundle resourceBundle) {
  111. long lastDigitDay = days % 10;
  112. long lastDigitWeek = weeks % 10;
  113. long penultimateNumberDay = days / 10 % 10;
  114. long penultimateNumberWeek = weeks / 10 % 10;
  115.  
  116. System.out.print(weeks + " ");
  117. if (penultimateNumberWeek == 1) {
  118. System.out.print(resourceBundle.getString("weeks2") + " ");
  119. } else if (lastDigitWeek == 1) {
  120. System.out.print(resourceBundle.getString("weeks") + " ");
  121. } else if (lastDigitWeek >= 2 & lastDigitWeek <= 4) {
  122. System.out.print(resourceBundle.getString("weeks1") + " ");
  123. } else
  124. System.out.print(resourceBundle.getString("weeks2") + " ");
  125.  
  126. System.out.print(days + " ");
  127.  
  128. if (penultimateNumberDay == 1) {
  129. System.out.println(resourceBundle.getString("day3") + " ");
  130. } else if (lastDigitDay == 1) {
  131. System.out.println(resourceBundle.getString("day1") + " ");
  132. } else if (lastDigitDay >= 2 & lastDigitDay <= 4) {
  133. System.out.println(resourceBundle.getString("day2") + " ");
  134. } else
  135. System.out.println(resourceBundle.getString("day3") + " ");
  136. }
  137. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement