【问题标题】:How can I get the time in seconds since midnight [duplicate]我怎样才能得到自午夜以来的秒数[重复]
【发布时间】:2025-12-13 08:05:02
【问题描述】:

这是一个有效的示例代码。如何在 Java Android 中获取自午夜以来的秒数

long time = 1450853970
    DateTime.DateFormat = "MM/dd/yyyy"
    long unix_time = DateTime.DateParse(DateTime.Date(time * 1000)) / 1000  
    long time_in_seconds = time - unix_time + (DateTime.TimeZoneOffset * -3600)

【问题讨论】:

    标签: java android datetime


    【解决方案1】:
    private int getSecondsFromMidnight(DateTime d) {
        DateTime pastMidnight = d.minusDays(1).withHourOfDay(23).withMinuteOfHour(59).withSecondOfMinute(59);
        Seconds seconds = Seconds.secondsBetween(pastMidnight, d);
    
        return seconds.getSeconds();
    }
    

    【讨论】:

      【解决方案2】:

      尝试使用Calendar,因为Date 很奇怪))

      Calendar now = Calendar.getInstance();
      Calendar midnight = Calendar.getInstance();
      
      midnight.set(Calendar.HOUR_OF_DAY, 0);
      midnight.set(Calendar.MINUTE, 0);
      midnight.set(Calendar.SECOND, 0);
      midnight.set(Calendar.MILLISECOND, 0);
      
      long difference = now.getTimeInMillis() - midnight.getTimeInMillis();
      

      【讨论】:

        最近更新 更多