首页 > 解决方案 > JAVA:在日期上设置时区

问题描述

例如,我有一个日期Tue Jun 08 19:00:00 2021

我想指出这个日期在 GMT+3 时区。不改变它,它已经在 GMT+3 中。因为我在后台进行了配置,并根据每个用户的时区在前面检索了这个日期。

我在日期字段中输入了 Tue Jun 08 19:00:00 2021,保存模型后,该值在数据库中保存为 Tue Jun 08 20:00:00 WEST 2021。服务器位于非洲/卡萨布兰卡时区。请解释这种转换是如何发生的!

我需要保存用户选择的日期。2021 年 6 月 8 日星期二 19:00:00 西部

标签: javadatetimezone

解决方案


我不太确定这是否会有所帮助,但这里有一些代码会占用系统时间并以 GMT +3 的 h:m:s 格式显示。您可以轻松地将其修改为您的格式:

import java.lang.*; 

class Main {   public static void main(String[] args) {
    long ms = System.currentTimeMillis();
    long sec = ms / 1000;
    long min = sec / 60;
    long hrs = (min / 60);
    long actualHrs = hrs % 24;
    long actualMin = min % 60;
    long actualSec = sec % 60;
    long ESTHrs = actualHrs - 5;
    if(actualHrs <= 12 && actualHrs > 0){
      System.out.println("The Current Time (GMT) is " + actualHrs + ":" + actualMin + ":" + actualSec + " AM"); 
    }
    else if(actualHrs > 12){
      System.out.println("The Current Time (GMT) is " + (actualHrs - 12) + ":" + actualMin + ":" + actualSec + " PM"); 
    }

如果您还可以回复一些代码,也许我可以更轻松地帮助确定问题。


推荐阅读