【问题标题】:Date to Excel timestamp日期到 Excel 时间戳
【发布时间】:2020-04-17 08:44:04
【问题描述】:

我需要计算一个 Excel“时间戳”(参考 01.01.1900,而不是像 unix 时间戳那样的 1970);这是我所做的:

Date mydate = new Date();
unixTimestamp = mydate.getTime() / 1000;
excelTimestamp = unixTimestamp / 86400;

def startPoint= new GregorianCalendar(1900, Calendar.JANUARY, 0, 0,0,0).time;

TimeZone tz = TimeZone.getTimeZone("Europe/Berlin");

howmany = tz.getOffset(new Date().getTime()) / 1000;

excelTimeStamp = (unixTimestamp - startPoint.time/1000) / 86400;

后者返回的时间少 1 天,多 1 小时……我做错了什么?

【问题讨论】:

    标签: date groovy timezone


    【解决方案1】:

    解决方案要容易得多:

    Date mydate = new Date();
    
    unixTimestamp = mydate.getTime() / 1000;
    
    TimeZone tz = TimeZone.getTimeZone("Europe/Berlin");
    
    howmany = tz.getOffset(new Date().getTime()) / 1000;
    
    excelTimeStamp = 25569 + (unixTimestamp+howmany)/86400;
    

    【讨论】:

      猜你喜欢
      • 2015-01-14
      • 2016-12-18
      • 1970-01-01
      • 2021-01-28
      • 2010-10-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多