【问题标题】:How to store timestamp in mysql based on Timezone?如何根据时区在mysql中存储时间戳?
【发布时间】:2016-02-08 04:16:44
【问题描述】:

我想在我的登录表中存储 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 节省时间,而是在英国节省时间。 我该怎么办?

【问题讨论】:

  • 我建议不要更改时间戳的更改位置,而是在从数据库中获取数据时打印不同的时区。

标签: java mysql datetime utc


【解决方案1】:

据我所知,您需要验证您的服务器时间。

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

【讨论】:

    猜你喜欢
    • 2011-09-25
    • 1970-01-01
    • 2016-01-07
    • 1970-01-01
    • 1970-01-01
    • 2010-12-06
    • 2018-03-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多