forked from lrag/Java_17
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathPruebas.java
More file actions
152 lines (106 loc) · 3.93 KB
/
Pruebas.java
File metadata and controls
152 lines (106 loc) · 3.93 KB
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.Instant;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.time.ZoneId;
import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter;
import java.time.temporal.ChronoField;
import java.time.temporal.ChronoUnit;
import java.util.Date;
public class Pruebas {
public static SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
public static void main(String[] args) throws InterruptedException {
//Cuidado que SimpleDateFormat no es Thread Safe
String fechaStr = "15/11/2017";
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
Date f1 = null;
try {
f1 = sdf.parse(fechaStr);
} catch (ParseException e) {
e.printStackTrace();
}
//
//Instant
//
//Los constructores de instant (y del resto de clases de java time)
//son privados
//Instant i = new Instant();
System.out.println("==============================================");
Instant i1 = Instant.now();
Thread.sleep(1);
Instant i2 = Instant.now();
System.out.println(i1);
System.out.println(i2);
System.out.println(i1.toEpochMilli()); //Milisegundos desde el 1/1/1970
System.out.println(i2.toEpochMilli());
//Los objetos de java.time son inmutables
System.out.println(i2.isAfter(i1));
//plus para añadir, minus para restar
i1.plus(1, ChronoUnit.HOURS);
System.out.println(i2.isAfter(i1));
i1 = i1.plus(1, ChronoUnit.HOURS);
System.out.println(i2.isAfter(i1));
//
//LocalDate
//
System.out.println("===========================================");
LocalDate ld = LocalDate.now();
System.out.println("LocalDate:"+ld);
System.out.println("Día del mes:"+ld.getDayOfMonth());
System.out.println("Día de la semana:"+ld.getDayOfWeek());
System.out.println("Día del año:"+ld.getDayOfYear());
System.out.println("Mes:"+ld.getMonthValue());
System.out.println("Mes:"+ld.getMonth());
System.out.println("Año:"+ld.getYear());
System.out.println("Días desde el 1/1/1970:"+ld.getLong(ChronoField.EPOCH_DAY));
//System.out.println("ZAS:"+ld.getLong(ChronoField.SECOND_OF_DAY));
LocalDate ld2 = LocalDate.of(2030, 1, 1);
System.out.println(ld2);
//ld.plus(amountToAdd);
//ld.minus(amountToSubtract);
//
//LocalTime
//
System.out.println("===========================================");
LocalTime lt = LocalTime.now();
System.out.println("LocalTime:"+lt);
System.out.println("Hora:"+lt.getHour());
System.out.println("Minutos:"+lt.getMinute());
System.out.println("Segundos:"+lt.getSecond());
System.out.println("Nanosegundos:"+lt.getNano()); //La precision depende del hardware
System.out.println("Segundo del día:"+lt.toSecondOfDay());
System.out.println("+ 50 minutos:"+lt.plusMinutes(50));
System.out.println("Inmutable:"+lt);
//System.out.println("ZAS:"+lt.getLong(ChronoField.DAY_OF_MONTH));
//
//LocalDateTime
//
System.out.println("===========================================");
LocalDateTime ldt = LocalDateTime.now();
System.out.println("LocalDateTime:"+ldt);
//
//Formatters: son thread safe!
//
System.out.println("===========================================");
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("dd/MM/yyyy");
LocalDate ld3 = LocalDate.parse("10/10/2025", dtf);
System.out.println(ld3);
String fecha = ld3.format(dtf);
System.out.println(fecha);
//
//ZonedDateTime
//
System.out.println("===========================================");
ZonedDateTime zdt = ZonedDateTime.now();
System.out.println(zdt);
ZoneId madrid = ZoneId.of("Europe/Madrid");
ZoneId canarias = ZoneId.of("Atlantic/Canary");
ZonedDateTime zdt2 = ZonedDateTime.of(LocalDateTime.now(), madrid);
ZonedDateTime zdt4 = zdt2.withZoneSameInstant(canarias);
System.out.println("Madrid :"+zdt2.toLocalTime());
System.out.println("Canarias:"+zdt4.toLocalTime());
}
}