博客
关于我
Java 时间取当天0点时间戳 对时间取余多出8小时解决办法(可对任意时间取余)
阅读量:117 次
发布时间:2019-02-26

本文共 1047 字,大约阅读时间需要 3 分钟。

我们当前系统位于东八时区。在处理时间戳时,需要考虑时区转换。

问题分析

在东八时区,日期时间的处理需要特别注意。比如,对于东八时区的时间点,直接获取系统时间可能会出现偏移。

解决方案

为了解决这个问题,可以采用以下步骤进行时间戳的处理:

  • 时间戳处理逻辑

    首先,将时间戳加上8小时,确保时间点位于东八时区的正确位置。然后,通过对时间戳取模运算,去除多余的时间信息。最后,再减去8小时,得到正确的日期时间点。

  • 具体实现

    代码如下:

    import java.text.SimpleDateFormat;import java.util.Date;public class Test {    public static void main(String[] args) {        Date date = new Date();        date.setTime(date.getTime() + TimeUnits.hour * 8);        date.setTime(date.getTime() - (date.getTime() % TimeUnits.day));        date.setTime(date.getTime() - TimeUnits.hour * 8);        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:sss");        System.out.println(simpleDateFormat.format(date));    }}public interface TimeUnits {    long second = 1000;    long minute = second * 60;    long hour = minute * 60;    long day = hour * 24;    long week = day * 7;    long month = day * 30;    long year = day * 365;}
  • 验证结果

    通过上述处理后,可以得到正确的日期时间点。例如:

    • 对一天取模后,得到:2021-04-02 00:00:00.000
    • 对6小时取模后,得到:2021-04-02 12:00:00.000
  • 这种方法能够准确地进行时区转换,并确保日期时间的正确性。

    转载地址:http://tdiu.baihongyu.com/

    你可能感兴趣的文章
    pandas -更改重新采样的时间序列的开始和结束日期
    查看>>
    pandas :to_excel() float_format
    查看>>
    pandas :加入有条件的数据框
    查看>>
    pandas :将多列汇总为一列,没有最后一列
    查看>>
    pandas :将时间戳转换为 datetime.date
    查看>>
    pandas :将行取消堆叠到新列中
    查看>>
    pandas DataFrame 中的自定义浮点格式
    查看>>
    Pandas DataFrame 的 describe()方法详解-ChatGPT4o作答
    查看>>
    Pandas DataFrame中删除列级的方法链接解决方案
    查看>>
    Pandas DataFrame中的列从浮点数输出到货币(负值)
    查看>>
    Pandas DataFrame中的列从浮点数输出到货币(负值)
    查看>>
    pandas DataFrame的一些操作
    查看>>
    Pandas Dataframe的日志文件
    查看>>
    pandas Groupby:创建两列的Groupby时,如何按正确的顺序对工作日进行排序?
    查看>>
    Pandas matplotlib 无法显示中文
    查看>>
    pandas PIVOT_TABLE保持索引
    查看>>
    Pandas Plots:周末的单独颜色,x 轴上漂亮的打印时间
    查看>>
    pandas to_latex() 转义数学模式
    查看>>
    Pandas 中的多索引旋转
    查看>>
    Pandas 中的日期范围
    查看>>