diff --git a/gradle.properties b/gradle.properties
index 83a4a170..8e78731d 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -1,3 +1,3 @@
netbeans.org-netbeans-modules-javascript2-requirejs.enabled=true
release_version_major=2.2
-release_version_minor=13.6
+release_version_minor=13.7
diff --git a/release/YaguraExtender-v2.2.jar b/release/YaguraExtender-v2.2.jar
index a7cde2a3..7b5af878 100644
Binary files a/release/YaguraExtender-v2.2.jar and b/release/YaguraExtender-v2.2.jar differ
diff --git a/src/main/java/extend/util/external/TransUtil.java b/src/main/java/extend/util/external/TransUtil.java
index 1a0bfb7c..5efe2527 100644
--- a/src/main/java/extend/util/external/TransUtil.java
+++ b/src/main/java/extend/util/external/TransUtil.java
@@ -17,6 +17,9 @@
import java.text.DecimalFormat;
import java.time.LocalDate;
import java.time.LocalDateTime;
+import java.time.ZoneId;
+import java.time.ZoneOffset;
+import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter;
import java.time.temporal.ChronoUnit;
import java.util.ArrayList;
@@ -2399,20 +2402,32 @@ public static char getOrderdChar(int ord) {
/*
* DateへはZoneがデフォルトのZoneになるため強制的に変更
*/
- public static Date toZoneWithDate(LocalDateTime ldtm) {
- GregorianCalendar cal = new GregorianCalendar(ldtm.getYear(), ldtm.getMonthValue(), ldtm.getDayOfMonth(), ldtm.getHour(), ldtm.getMinute(), ldtm.getSecond());
+ public static Date toZoneWithDate(LocalDateTime ldtm, ZoneId zoneId) {
+ GregorianCalendar cal = new GregorianCalendar(ldtm.getYear(), ldtm.getMonthValue()-1, ldtm.getDayOfMonth(), ldtm.getHour(), ldtm.getMinute(), ldtm.getSecond());
+ cal.setTimeZone(TimeZone.getTimeZone(zoneId));
return cal.getTime();
}
/*
- * DateへはZoneが
+ * DateへはZoneがデフォルトのZoneになるため強制的に変更
*/
- public static LocalDateTime toZoneWithLocalDate(Date date) {
+// public static LocalDateTime toZoneWithLocalDate(Date date, ZoneId zoneId) {
+// Calendar cal = GregorianCalendar.getInstance();
+// cal.setTimeZone(TimeZone.getTimeZone(zoneId));
+// cal.setTime(date);
+// LocalDateTime ldtm = LocalDateTime.of(cal.get(Calendar.YEAR), cal.get(Calendar.MONTH)+1, cal.get(Calendar.DAY_OF_MONTH), cal.get(Calendar.HOUR_OF_DAY), cal.get(Calendar.MINUTE), cal.get(Calendar.SECOND));
+// return ldtm;
+// }
+
+ /*
+ * DateへはZoneがデフォルトのZoneになるため強制的に変更
+ */
+ public static ZonedDateTime toZoneWithZoneDate(Date date, ZoneId zoneId) {
Calendar cal = GregorianCalendar.getInstance();
+ //cal.setTimeZone(TimeZone.getTimeZone(zoneId));
cal.setTime(date);
- LocalDateTime ldtm = LocalDateTime.of(cal.get(Calendar.YEAR), cal.get(Calendar.MONTH), cal.get(Calendar.DAY_OF_MONTH), cal.get(Calendar.HOUR), cal.get(Calendar.MINUTE), cal.get(Calendar.SECOND));
- return ldtm;
+ ZonedDateTime zdtm = ZonedDateTime.of(cal.get(Calendar.YEAR), cal.get(Calendar.MONTH)+1, cal.get(Calendar.DAY_OF_MONTH), cal.get(Calendar.HOUR_OF_DAY), cal.get(Calendar.MINUTE), cal.get(Calendar.SECOND), 0, zoneId);
+ return zdtm;
}
-
}
diff --git a/src/main/java/yagura/view/JTransCoderTab.form b/src/main/java/yagura/view/JTransCoderTab.form
index 41983a1a..31873b84 100644
--- a/src/main/java/yagura/view/JTransCoderTab.form
+++ b/src/main/java/yagura/view/JTransCoderTab.form
@@ -29,7 +29,7 @@
-
+
@@ -1429,7 +1429,7 @@
-
+
@@ -1551,7 +1551,7 @@
-
+
@@ -1698,7 +1698,7 @@
-
+
@@ -2003,7 +2003,7 @@
-
+
@@ -2252,7 +2252,7 @@
-
+
@@ -2446,32 +2446,32 @@
-
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
+
-
+
@@ -2479,38 +2479,38 @@
-
-
-
-
+
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
+
+
+
+
-
+
@@ -2567,7 +2567,7 @@
-
+
@@ -2609,6 +2609,7 @@
+
@@ -2713,7 +2714,7 @@
-
+
@@ -2840,7 +2841,7 @@
-
+
diff --git a/src/main/java/yagura/view/JTransCoderTab.java b/src/main/java/yagura/view/JTransCoderTab.java
index 917f6df4..94c8917e 100644
--- a/src/main/java/yagura/view/JTransCoderTab.java
+++ b/src/main/java/yagura/view/JTransCoderTab.java
@@ -119,7 +119,7 @@ public JTransCoderTab() {
private org.fife.ui.rtextarea.RTextScrollPane scrollOutputFormat;
private org.fife.ui.rsyntaxtextarea.RSyntaxTextArea txtOutputFormat;
- private final static DateTimeFormatter SYSTEM_ZONE_DATE_FORMATTER = DateTimeFormatter.ofPattern("yyyy/MM/dd H:mm:ss zzz");
+ private final static DateTimeFormatter SYSTEM_ZONE_DATE_FORMATTER = DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm:ss zzz");
private final static String [] SHORT_ZONEIDS = {
"GMT", "ACT", "AET", "AGT", "ART", "AST", "BET", "BST", "CAT", "CNT", "CST", "CTT", "EAT", "ECT", "IET", "IST", "JST", "MIT", "NET", "NST", "PLT", "PNT", "PRT", "PST", "SST", "VST", "EST", "MST", "HST"
@@ -130,26 +130,28 @@ public JTransCoderTab() {
private final JWTTokenDecoderTab jwtTokenDecoderTab = new JWTTokenDecoderTab();
final FocusListener FIRE_FOCUS = new FocusListener() {
- @Override
- public void focusGained(FocusEvent e) {
- }
+ @Override
+ public void focusGained(FocusEvent e) {
+ }
- @Override
- public void focusLost(FocusEvent e) {
- ZonedDateTime cdtm = getConverterZoneDateTime();
- long java_value = cdtm.toInstant().toEpochMilli();
- long unix_value = java_value / 1000L;
+ @Override
+ public void focusLost(FocusEvent e) {
+ updateZoneDateTime();
+ }
+ };
- ZonedDateTime zdtm = ZonedDateTime.ofInstant(Instant.ofEpochMilli(java_value), ZoneId.systemDefault());
- setSystemZoneDate(zdtm.toInstant());
+ private void updateZoneDateTime() {
+ ZonedDateTime cdtm = getConverterZoneDateTime();
+ long java_value = cdtm.toInstant().toEpochMilli();
+ long unix_value = java_value / 1000L;
- txtUnixtime.setValue(unix_value);
- txtJavaSerial.setValue(java_value);
- BigDecimal excel_serial = TransUtil.toExcelSerial(unix_value);
- txtExcelSerial.setValue(excel_serial.doubleValue());
+ this.txtUnixtime.setValue(unix_value);
+ this.txtJavaSerial.setValue(java_value);
+ BigDecimal excel_serial = TransUtil.toExcelSerial(unix_value);
+ this.txtExcelSerial.setValue(excel_serial.doubleValue());
- }
- };
+ this.setSystemZoneDate(cdtm);
+ }
private void customizeComponents() {
@@ -332,14 +334,14 @@ private Date getConverterDateTime() {
private void setConverterZoneDateTime(long java_serial_time) {
ZoneId zoneId = getSelectZoneId();
LocalDateTime ldtm = LocalDateTime.ofInstant(Instant.ofEpochMilli(java_serial_time), zoneId);
- this.spnZoneDateTime.setValue(TransUtil.toZoneWithDate(ldtm));
+ this.spnZoneDateTime.setValue(TransUtil.toZoneWithDate(ldtm, zoneId));
}
private ZonedDateTime getConverterZoneDateTime() {
Date date = this.getConverterDateTime();
- LocalDateTime ldtm = TransUtil.toZoneWithLocalDate(date);
ZoneId zoneId = getSelectZoneId();
- return ldtm.atZone(zoneId);
+ ZonedDateTime zdtm = TransUtil.toZoneWithZoneDate(date, zoneId);
+ return zdtm;
}
private void setGeneraterDateStart(Date value) {
@@ -1450,7 +1452,7 @@ public void keyPressed(java.awt.event.KeyEvent evt) {
.addComponent(spnNumStep, javax.swing.GroupLayout.PREFERRED_SIZE, 110, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(spnNumStart, javax.swing.GroupLayout.PREFERRED_SIZE, 110, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(spnNumEnd, javax.swing.GroupLayout.PREFERRED_SIZE, 110, javax.swing.GroupLayout.PREFERRED_SIZE))))
- .addContainerGap(1520, Short.MAX_VALUE))
+ .addContainerGap(1526, Short.MAX_VALUE))
);
pnlNumbersLayout.setVerticalGroup(
pnlNumbersLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
@@ -1544,7 +1546,7 @@ public void stateChanged(javax.swing.event.ChangeEvent evt) {
.addGap(18, 18, 18)
.addComponent(cmbDateUnit, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addComponent(spnDateEnd, javax.swing.GroupLayout.PREFERRED_SIZE, 257, javax.swing.GroupLayout.PREFERRED_SIZE))))
- .addContainerGap(1467, Short.MAX_VALUE))
+ .addContainerGap(1473, Short.MAX_VALUE))
);
pnlDateLayout.setVerticalGroup(
pnlDateLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
@@ -1675,7 +1677,7 @@ public void actionPerformed(java.awt.event.ActionEvent evt) {
.addComponent(pnlStringLength, javax.swing.GroupLayout.PREFERRED_SIZE, 240, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(pnlCount, javax.swing.GroupLayout.PREFERRED_SIZE, 240, javax.swing.GroupLayout.PREFERRED_SIZE)))
- .addContainerGap(1467, Short.MAX_VALUE))
+ .addContainerGap(1473, Short.MAX_VALUE))
);
tabRandomLayout.setVerticalGroup(
tabRandomLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
@@ -1853,7 +1855,7 @@ public void actionPerformed(java.awt.event.ActionEvent evt) {
.addGroup(tabBaseConverterLayout.createSequentialGroup()
.addComponent(lblBin, javax.swing.GroupLayout.PREFERRED_SIZE, 55, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addComponent(txtBin, javax.swing.GroupLayout.DEFAULT_SIZE, 1907, Short.MAX_VALUE))
+ .addComponent(txtBin, javax.swing.GroupLayout.DEFAULT_SIZE, 1913, Short.MAX_VALUE))
.addGroup(tabBaseConverterLayout.createSequentialGroup()
.addComponent(lblHex, javax.swing.GroupLayout.PREFERRED_SIZE, 55, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
@@ -2027,7 +2029,7 @@ public void actionPerformed(java.awt.event.ActionEvent evt) {
.addComponent(txtDec4, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(lblIPValid, javax.swing.GroupLayout.PREFERRED_SIZE, 256, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addContainerGap(1422, Short.MAX_VALUE))
+ .addContainerGap(1428, Short.MAX_VALUE))
);
tabIPFormatConverterLayout.setVerticalGroup(
tabIPFormatConverterLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
@@ -2103,7 +2105,7 @@ public void actionPerformed(java.awt.event.ActionEvent evt) {
spnZoneDateTime.setModel(new javax.swing.SpinnerDateModel());
spnZoneDateTime.setToolTipText("");
- spnZoneDateTime.setEditor(new javax.swing.JSpinner.DateEditor(spnZoneDateTime, "yyyy/MM/dd H:mm:ss"));
+ spnZoneDateTime.setEditor(new javax.swing.JSpinner.DateEditor(spnZoneDateTime, "yyyy/MM/dd HH:mm:ss"));
spnZoneDateTime.setMinimumSize(new java.awt.Dimension(180, 22));
spnZoneDateTime.setName(""); // NOI18N
spnZoneDateTime.setPreferredSize(new java.awt.Dimension(200, 22));
@@ -2126,6 +2128,11 @@ public void focusLost(java.awt.event.FocusEvent evt) {
txtExcelSerialFocusLost(evt);
}
});
+ txtExcelSerial.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ txtExcelSerialActionPerformed(evt);
+ }
+ });
txtJavaSerial.setFormatterFactory(new javax.swing.text.DefaultFormatterFactory(new javax.swing.text.NumberFormatter(new java.text.DecimalFormat("#0"))));
txtJavaSerial.setHorizontalAlignment(javax.swing.JTextField.TRAILING);
@@ -2172,57 +2179,57 @@ public void actionPerformed(java.awt.event.ActionEvent evt) {
.addGroup(tabDateConverterLayout.createSequentialGroup()
.addContainerGap()
.addGroup(tabDateConverterLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addComponent(lblJavaSerial, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- .addComponent(lblZoneDate, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- .addComponent(lblUnixtime, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- .addComponent(lblExcelSerial, javax.swing.GroupLayout.DEFAULT_SIZE, 425, Short.MAX_VALUE)
- .addComponent(lblDate, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+ .addComponent(lblExcelSerial, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+ .addComponent(lblJavaSerial, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+ .addComponent(lblZoneDate, javax.swing.GroupLayout.PREFERRED_SIZE, 120, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addComponent(lblDate, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+ .addComponent(lblUnixtime, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(tabDateConverterLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addComponent(txtUnixtime, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(txtJavaSerial, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- .addComponent(txtExcelSerial, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- .addComponent(spnZoneDateTime, javax.swing.GroupLayout.DEFAULT_SIZE, 638, Short.MAX_VALUE)
- .addComponent(txtSystemZoneDate, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+ .addComponent(txtSystemZoneDate, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+ .addComponent(spnZoneDateTime, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+ .addComponent(txtUnixtime, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+ .addComponent(txtExcelSerial, javax.swing.GroupLayout.DEFAULT_SIZE, 626, Short.MAX_VALUE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(tabDateConverterLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(btnUnixtimeCopy, javax.swing.GroupLayout.PREFERRED_SIZE, 90, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(btnJavaSerialCopy, javax.swing.GroupLayout.PREFERRED_SIZE, 90, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addComponent(btnExcelSerial, javax.swing.GroupLayout.PREFERRED_SIZE, 90, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(cmbTimezone, javax.swing.GroupLayout.PREFERRED_SIZE, 261, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addComponent(btnZoneDateCopy, javax.swing.GroupLayout.PREFERRED_SIZE, 90, javax.swing.GroupLayout.PREFERRED_SIZE))
- .addGap(716, 716, 716))
+ .addComponent(btnZoneDateCopy, javax.swing.GroupLayout.PREFERRED_SIZE, 90, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addComponent(btnExcelSerial, javax.swing.GroupLayout.PREFERRED_SIZE, 90, javax.swing.GroupLayout.PREFERRED_SIZE))
+ .addGap(1039, 1039, 1039))
);
tabDateConverterLayout.setVerticalGroup(
tabDateConverterLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(tabDateConverterLayout.createSequentialGroup()
.addGap(13, 13, 13)
- .addGroup(tabDateConverterLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
- .addComponent(spnZoneDateTime, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addGroup(tabDateConverterLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(cmbTimezone, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addComponent(lblZoneDate))
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addGroup(tabDateConverterLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+ .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, tabDateConverterLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addComponent(spnZoneDateTime, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addComponent(lblZoneDate)))
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+ .addGroup(tabDateConverterLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER)
.addComponent(lblDate)
- .addComponent(btnZoneDateCopy)
- .addComponent(txtSystemZoneDate, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+ .addComponent(txtSystemZoneDate, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addComponent(btnZoneDateCopy))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addGroup(tabDateConverterLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addComponent(btnUnixtimeCopy)
- .addGroup(tabDateConverterLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
- .addComponent(lblUnixtime)
- .addComponent(txtUnixtime, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
- .addGap(6, 6, 6)
- .addGroup(tabDateConverterLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+ .addGroup(tabDateConverterLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER)
+ .addComponent(lblUnixtime)
+ .addComponent(txtUnixtime, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addComponent(btnUnixtimeCopy))
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+ .addGroup(tabDateConverterLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER)
.addComponent(lblJavaSerial)
- .addComponent(btnJavaSerialCopy)
- .addComponent(txtJavaSerial, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+ .addComponent(txtJavaSerial, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addComponent(btnJavaSerialCopy))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addGroup(tabDateConverterLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+ .addGroup(tabDateConverterLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER)
.addComponent(lblExcelSerial)
- .addComponent(btnExcelSerial)
- .addComponent(txtExcelSerial, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
- .addContainerGap(495, Short.MAX_VALUE))
+ .addComponent(txtExcelSerial, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addComponent(btnExcelSerial))
+ .addContainerGap(493, Short.MAX_VALUE))
);
tabbetConverter.addTab("Date", tabDateConverter);
@@ -2288,7 +2295,7 @@ public void actionPerformed(java.awt.event.ActionEvent evt) {
.addComponent(btnStoreTypeJKS, javax.swing.GroupLayout.PREFERRED_SIZE, 64, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(btnStoreTypePKCS12)))
- .addContainerGap(1694, Short.MAX_VALUE))
+ .addContainerGap(1700, Short.MAX_VALUE))
);
pnlCertificateLayout.setVerticalGroup(
pnlCertificateLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
@@ -2375,7 +2382,7 @@ public void actionPerformed(java.awt.event.ActionEvent evt) {
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(btnCalc)
.addGap(0, 0, Short.MAX_VALUE))
- .addComponent(jLabel3, javax.swing.GroupLayout.DEFAULT_SIZE, 1095, Short.MAX_VALUE))
+ .addComponent(jLabel3, javax.swing.GroupLayout.DEFAULT_SIZE, 1101, Short.MAX_VALUE))
.addGap(671, 671, 671))
.addGroup(tabTokenStrengthLayout.createSequentialGroup()
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 558, javax.swing.GroupLayout.PREFERRED_SIZE)
@@ -3215,13 +3222,18 @@ private void btnExcelSerialActionPerformed(java.awt.event.ActionEvent evt) {//GE
}//GEN-LAST:event_btnExcelSerialActionPerformed
private void cmbTimezoneItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_cmbTimezoneItemStateChanged
- Date date = this.getConverterDateTime();
- this.setSystemZoneDate(date.toInstant());
+// Date date = this.getConverterDateTime();
+// this.setSystemZoneDate(date.toInstant());
+ this.updateZoneDateTime();
}//GEN-LAST:event_cmbTimezoneItemStateChanged
private void setSystemZoneDate(Instant instant) {
ZonedDateTime zdtm = ZonedDateTime.ofInstant(instant, ZoneOffset.UTC);
- this.txtSystemZoneDate.setText(SYSTEM_ZONE_DATE_FORMATTER.format(zdtm.withZoneSameInstant(ZoneId.systemDefault())));
+ this.txtSystemZoneDate.setText(SYSTEM_ZONE_DATE_FORMATTER.withZone(ZoneId.systemDefault()).format(zdtm));
+ }
+
+ private void setSystemZoneDate(ZonedDateTime zdtm) {
+ this.txtSystemZoneDate.setText(SYSTEM_ZONE_DATE_FORMATTER.withZone(ZoneId.systemDefault()).format(zdtm));
}
private void spnDateStartStateChanged(javax.swing.event.ChangeEvent evt) {//GEN-FIRST:event_spnDateStartStateChanged
@@ -3293,7 +3305,6 @@ private void txtUnixtimeFocusLost(java.awt.event.FocusEvent evt) {//GEN-FIRST:ev
ZonedDateTime zdtm = ZonedDateTime.ofInstant(Instant.ofEpochMilli(java_value), ZoneId.systemDefault());
this.setSystemZoneDate(zdtm.toInstant());
-
this.setConverterZoneDateTime(java_value);
} catch (ParseException ex) {
@@ -3350,6 +3361,10 @@ private void rdoUnicodeHex2ActionPerformed(java.awt.event.ActionEvent evt) {//GE
// TODO add your handling code here:
}//GEN-LAST:event_rdoUnicodeHex2ActionPerformed
+ private void txtExcelSerialActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_txtExcelSerialActionPerformed
+ // TODO add your handling code here:
+ }//GEN-LAST:event_txtExcelSerialActionPerformed
+
private final java.awt.event.ActionListener historyActionPerformed = new java.awt.event.ActionListener() {
@Override
public void actionPerformed(java.awt.event.ActionEvent evt) {
diff --git a/src/test/java/extend/util/external/TransUtilTest.java b/src/test/java/extend/util/external/TransUtilTest.java
index 34477cdf..e23cb5ad 100644
--- a/src/test/java/extend/util/external/TransUtilTest.java
+++ b/src/test/java/extend/util/external/TransUtilTest.java
@@ -1,7 +1,6 @@
package extend.util.external;
import extend.util.external.TransUtil.EncodePattern;
-import static extend.util.external.TransUtil.PTN_ENCODE_ALPHANUM;
import extension.helpers.ConvertUtil;
import extension.helpers.HttpUtil;
import extension.helpers.MatchUtil;
@@ -28,8 +27,10 @@
import java.time.ZoneOffset;
import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter;
+import static java.time.temporal.TemporalQueries.zoneId;
import java.util.Calendar;
import java.util.Date;
+import java.util.GregorianCalendar;
import java.util.TimeZone;
/**
@@ -1047,6 +1048,7 @@ public void testZoneDateTime() {
@Test
public void testCovertDate() {
+ System.out.println("testCovertDate");
long unix_time = 1655470800L;
LocalDateTime udtm = LocalDateTime.ofInstant(Instant.ofEpochSecond(unix_time), ZoneOffset.UTC);
System.out.println("LocalDateTime(UTC): " + udtm);
@@ -1055,7 +1057,7 @@ public void testCovertDate() {
System.out.println("LocalDateTime(JST): " + ldtm.getYear() + "-" + ldtm.getMonthValue() + "-" + ldtm.getDayOfMonth() + " " + ldtm.getHour() + ":" + ldtm.getMinute() + ":" + ldtm.getSecond());
Date dateLocal = Date.from(ldtm.toInstant(ZoneOffset.UTC));
System.out.println("LocalDateTime(Z): " + dateLocal);
- System.out.println("TransUtil.toZoneWithDate: " + TransUtil.toZoneWithDate(ldtm));
+ System.out.println("TransUtil.toZoneWithDate: " + TransUtil.toZoneWithDate(ldtm, ZoneOffset.UTC));
ZonedDateTime zdtm = ZonedDateTime.ofInstant(Instant.ofEpochSecond(unix_time), ZoneOffset.UTC);
System.out.println("ZoneDateTime: " + zdtm);
Date dateZone = Date.from(ldtm.toInstant(ZoneOffset.UTC));
@@ -1074,4 +1076,18 @@ public void testCovertDate() {
System.out.println("Calendar.get(z): " + cl.get(Calendar.YEAR) + "-" + clz.get(Calendar.MONTH) + "-" + clz.get(Calendar.DAY_OF_MONTH) + " " + clz.get(Calendar.HOUR) + ":" + clz.get(Calendar.MINUTE) + ":" + clz.get(Calendar.SECOND));
}
+ @Test
+ public void testToZoneWithDate() {
+ System.out.println("testToZoneWithDate");
+ long unix_time = 1665835871;
+ // 2022/10/15 21:11:11 Asia/Tokyo
+ // 2022/10/15 12:11:11 UTC
+ Date date = new Date(unix_time * 1000);
+ System.out.println("date:" + date.toString());
+ ZonedDateTime zdtm = TransUtil.toZoneWithZoneDate(date, ZoneOffset.UTC);
+ System.out.println("zdtm:" + zdtm);
+
+ }
+
}
+