代码之家  ›  专栏  ›  技术社区  ›  romil gaurav

如何基于时区在mysql中存储时间戳?

  •  2
  • romil gaurav  · 技术社区  · 10 年前

    我想在登录表中存储last_login的时间戳。我正在DAO层中创建时间,并在用户登录时在表中更新它。问题是,我想根据时区更新它。我的代码是

        SimpleDateFormat formatter = new SimpleDateFormat("dd-MM-yyyy HH:mm:ss");
        final TimeZone utc = TimeZone.getTimeZone("IST");
        formatter.setTimeZone(utc);
        Calendar c = Calendar.getInstance();
        c.add(Calendar.DATE, 0); // number of days to add
        String date = (String) (formatter.format(c.getTime()));
        Date convertedDate = formatter.parse(date);
        Date timestampObj = new Timestamp(convertedDate.getTime());
    

    这只是向我返回服务器的时间戳。如果服务器在英国,则时间戳为英国。 我知道mysql时间戳以UTC存储时间。但这不是在IST节省时间,而是在英国节省时间。 我该如何继续?

    1 回复  |  直到 10 年前
        1
  •  0
  •   xereon    10 年前

    根据我的收集,您需要验证您的服务器时间。

    检查您的操作系统时间是否设置为IST(UTC偏移:UTC+5:30)。