精华内容
下载资源
问答
  • 怎么计算时间间隔天数
    千次阅读
    2020-04-29 13:42:33

    在网上看到了一个C语言计算日期间隔的方法,咋一看很高深,仔细看更高神,很巧妙。

    先直接代码吧

    #include <stdio.h>
    #include <stdlib.h>

    int day_diff(int year_start, int month_start, int day_start
    , int year_end, int month_end, int day_end)
    {
    int y2, m2, d2;
    int y1, m1, d1;

    m1 = (month_start + 9) % 12;
    y1 = year_start - m1/10;
    d1 = 365y1 + y1/4 - y1/100 + y1/400 + (m1306 + 5)/10 + (day_start - 1);

    m2 = (month_end + 9) % 12;
    y2 = year_end - m2/10;
    d2 = 365y2 + y2/4 - y2/100 + y2/400 + (m2306 + 5)/10 + (day_end - 1);

    return (d2 - d1);
    }

    int main(void)
    {
    printf("%d\n", day_diff(2015, 1, 1, 2015, 1, 8));
    printf("%d\n", day_diff(2015, 1, 29, 2015, 2, 9));

    return 0;
    }

    算法解析:

    该算法总体思想是计算给定日期到 0年3月1日的天数,然后相减,获取天数的间隔。

    m1 = (month_start + 9) % 12; 用于判断日期是否大于3月(2月是判断闰年的标识),还用于纪录到3月的间隔月数。

    y1 = year_start - m1/10; 如果是1月和2月,则不包括当前年(因为是计算到0年3月1日的天数)。

    d1 = 365y1 + y1/4 - y1/100 + y1/400 + (m1306 + 5)/10 + (day_start - 1);

    其中 365*y1 是不算闰年多出那一天的天数,
    
    y1/4 - y1/100 + y1/400  是加所有闰年多出的那一天,
    

    (m2*306 + 5)/10 用于计算到当前月到3月1日间的天数,306=365-31-28(1月和2月),5是全年中不是31天月份的个数

    (day_start - 1) 用于计算当前日到1日的间隔天数。

    更多相关内容
  • 主要介绍了PHP编程计算日期间隔天数的方法,涉及php日期与时间的转换与运算相关操作技巧,需要的朋友可以参考下
  • Js计算间隔天数的函数代码,需要的朋友可以参考下。
  • java 计算间隔天数

    2021-04-23 06:15:51
    首先给出一个错误的实现:// time1, time2 分别是 UTC 毫秒间隔public static boolean getDayInterval(long time1, long time2) {long base = 24*3600*1000L;long day1 = time1/base + 1;long day2 = time2/base + 1...

    首先给出一个错误的实现:

    // time1, time2 分别是 UTC 毫秒间隔

    public static boolean getDayInterval(long time1, long time2) {

    long base = 24*3600*1000L;

    long day1 = time1/base + 1;

    long day2 = time2/base + 1;

    return (day1 - day2);

    }

    上面的代码之所以错误,因为涉及到时区了,中国大陆的时区是 UTC + 8。

    涉及到时区操作,使用 Calendar 类:

    public static boolean isSameDay(long time1, long time2) {

    Calendar calendar1 = Calendar.getInstance();

    calendar1.setTimeInMillis(time1);

    Calendar calendar2 = Calendar.getInstance();

    calendar1.setTimeInMillis(time2);

    return calendar1.get(Calendar.DAY_OF_MONTH) == calendar2.get(Calendar.DAY_OF_MONTH);

    }

    上面的代码可以判断两个时间,在本地时区中是不是同一天,但是怎样计算天数间隔呢?我们需要在 UTC 时间的基础上加上那 8 个小时,得到本地时区的毫秒数,然后再计算间隔天数,正确代码如下:

    public static long getDayInterval(long time1, long time2) {

    // 获得当前时区

    TimeZone tz = TimeZone.getDefault();

    // UTC毫秒加上这个偏移值,得到本地时区的时间

    long delta = tz.getRawOffset();

    long base = 24*3600*1000L;

    long day1 = (time1+delta)/base + 1L;

    long day2 = (time2+delta)/base + 1L;

    System.out.println(new Date(time1));

    System.out.println(new Date(time2));

    System.out.println(day1);

    System.out.println(day2);

    return (day1-day2);

    }

    来源:https://www.cnblogs.com/allenwas3/p/8926895.html

    展开全文
  • java 判断时间 间隔天数

    千次阅读 2018-01-23 18:40:07
    //计算两个时间戳间隔多少天 public static int equation ( long startTime, long endTime) { startTime = dateToStamp(stampToDate(startTime)); endTime = dateToStamp(stampToDate(endTime)); ...
    
    import java.text.SimpleDateFormat;
    import java.util.Date;
    public class TimeUtil {
    
        public TimeUtil() {
            // TODO Auto-generated constructor stub
        }
    
        public static void main(String[] args){
            long startTime = 1516636799;
            long endTime = 1516636800;
            System.out.println(equation(startTime * 1000, System.currentTimeMillis()));
            System.out.println(System.currentTimeMillis());
        }
        //计算两个时间戳间隔多少天
        public static int equation(long startTime, long endTime) {
            startTime = dateToStamp(stampToDate(startTime));
            endTime = dateToStamp(stampToDate(endTime));
            int newL = (int) ((endTime - startTime) / (1000 * 3600 * 24));
            return newL;
    
        }
    
        /*
         * 将时间戳转换为时间
         */
        public static String stampToDate(long l) {
            String res;
            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
            long lt = l;
            Date date = new Date(lt);
            res = simpleDateFormat.format(date);
            return res;
        }
    
        /*
         * 将时间转换为时间戳
         */
        public static long dateToStamp(String s) {
            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
            Date date = null;
            try {
                date = simpleDateFormat.parse(s);
                return date.getTime();
            } catch (java.text.ParseException e) {
                // TODO Auto-generated catch block
    
                e.printStackTrace();
                return -1;
            }
    
        }
    }
    
    
    展开全文
  • PHP 计算日期间隔天数

    2021-07-06 10:31:04
    $today = new \DateTime(‘2020-09-27 08:00:00’); $beforeYestoday = new \DateTime(“2020-09-25 12:00:00”); $diff = today−>diff(today->diff(today−>diff(beforeYestoday); print_r($diff);...

    $today = new \DateTime(‘2020-09-27 08:00:00’);
    $beforeYestoday = new \DateTime(“2020-09-25 12:00:00”);
    $diff = t o d a y − > d i f f ( today->diff( today>diff(beforeYestoday);
    print_r($diff);
    结果如下:
    在这里插入图片描述

    echo $interval->format(’%R%a days’);
    在这里插入图片描述

    展开全文
  • 使用php内部自带函数实现1、使用DateTime::diff 实现计算上代码:$start = "2016-05-25";$end = "2016-05-23";$datetime_start = new DateTime($start);$datetime_end = new DateTime($end);var_dump($datetime_...
  • Js 时间间隔计算(间隔天数)

    千次阅读 2016-04-25 18:23:00
    Js 时间间隔计算(间隔天数) Js 时间间隔计算(间隔天数) 1 2 3 4 5 6 7 function GetDateDiff(startDate,endDate) { var startTime = new Date(Date.parse(startDate.replace(/-/g, "/"))...
  • java计算两个日期间隔天数

    千次阅读 2020-03-22 19:28:48
    * 计算两个日期间隔天数 * * @param startTime : 开始时间 * @param endTime : 结束时间 * @return */ public static int caculateTotalTime(String startTime, String endTime) { Si...
  • CREATE OR REPLACE FUNCTION "xxx"."f_timedelay"("starttime" timestamp, "endtime" timestamp) RETURNS "pg_catalog"."numeric" AS $BODY$ DECLARE v_return numeric;... --计算时间间隔天数 select
  • NULL 博文链接:https://xiaolinjava.iteye.com/blog/769359
  • js计算间隔天数

    2017-06-07 13:55:02
    //计算间隔天数 function GetDateDiff(startDate,endDate) {  var startTime = new Date(Date.parse(startDate.replace(/-/g, "/"))).getTime();  var endTime = new Date(Date.parse(endDate.replac
  • js 计算相隔天数

    2022-06-16 13:34:12
    js 计算相隔天数
  • 本文实例讲述了Python实现计算两个时间之间相差天数的方法。分享给大家供大家参考,具体如下: #-*- encoding:UTF-8 -*- from datetime import date import time nowtime = date.today() def convertstringtodate...
  • * 计算两个日期间隔天数 */ public class Demo5 { public static void main(String[] args) { //开始时间 LocalDateTime start = LocalDateTime.of(2019, 1, 16, 0, 0, 0); //结束时间 LocalDateTime end = ...
  • js 里面居然可以直接 Date1-Date2,而且还是转换为毫秒计算时间差的。 代码如下:// 计算两个日期的间隔天数 function DateDiff(sDate1, sDate2){ //sDate1和sDate2是2002-12-18格式 var aDate, oDate1, ...
  • 1、时间转换 data默认有toString() 输出格林威治时间,比如说Date date = new Date(); String toStr = date.toString(); 输出的结果类似于: Wed Sep 16 19:02:36 CST 2012 你要输出yyyy-MM-dd hh:mm:ss这种格式...
  • 二、TimeSpan结构表示一个时间间隔,按正负天数、小时数、分钟数、秒数以及秒的小数部分进行度量。 TimeSpan对象的文本(.tostring())“11.13:46:40”,表示 11 天,13 小时,46 分钟和 40 秒。 TimeSpan....
  • 在网上看到了一个C语言计算日期间隔的方法,咋一看很高深,仔细看更高神,很巧妙。先直接代码吧#include #include int day_diff(int year_start, int month_start, int day_start, int year_end, int month_end, int...
  • 初始化两个时间变量用于演示实例。 DateTime dt1 = new DateTime(2013, 10, 13, 19, 15, 50); ...下面以计算两个时间相隔总秒数为例。 方法一: TimeSpan ts1 = dt2.Subtract(dt1); double...
  • Java8新增了java.time包,提供...其中LocalDate正是本文中使用的可以帮助计算两个日期的间隔天数的类。(其它常用的还有LocalTime, Clock, Instant等,本文不赘述)话不多说,上代码!LocalDate day0 = LocalDate.of(2...
  • 两个时间间隔天数

    2015-10-18 12:07:20
    获取程序中开始时间和结束时间他们相隔多少天
  • c++计算时间间隔(即天数

    千次阅读 2018-08-24 16:03:30
    //计算时间秒数 void CalculateHHMMSS(char* pTime, int *pTimeNum); //计算房号 void CalculateRoomNum(string strRoomNum, string &strRoom); //计算楼层 void CalculateCC(char* FloorLay, int *pTimeNum...
  • java 如何计算两个日期间隔天数

    千次阅读 2021-04-28 10:18:52
    * 计算两个日期间隔天数 * * @param startTime : 开始时间 * @param endTime : 结束时间 * @param format: 时间格式 * @return */ public static int caculateTotalTime(String startTime, String endTime,...
  • pandas计算时间间隔天数

    千次阅读 2018-06-27 10:04:00
    from datetime import datetime import pandas as pd import numpy as np #生成一个序列数据并转换为DataFrame格式 lasttime=pd.DataFrame(pd.date_range(start='20170101...#计算到当前时间间隔天数 interva...
  • 时间戳计算间隔天数

    千次阅读 2019-09-25 00:24:52
    时间戳计算间隔天数计算 Math.floor((结束时间−开始时间)/(24∗3600∗1000)) Math.floor((结束时间-开始时间)/(24*3600*1000)) Math.floor((结束时间−开始时间)/(24∗3600∗1000)) <template slot-scope="{ ...
  • Java 语言的Calendar(日历),Date(日期),和DateFormat(日期格式)组成了Java标准的一个基本但是非常重要的部分。...下面这篇文章就给大家介绍了如何利用Java中Calendar计算两个日期之间的天数和周数,下面来一起看看吧。
  • 主要介绍了Python 3.3实现计算两个日期间隔秒数/天数的方法,结合实例形式较为详细的分析了基于Python3.3的日期时间转换与运算相关操作技巧,需要的朋友可以参考下
  • RAD Studio 10.2.3 测试√ procedure TForm_Tips.Button_ComDateTimeClick(Sender: TObject); var mTime1, mTime2: TDateTime; mDay: Integer; ... mTime2 := VarToDateTime('2021-06-01 08:00:00');...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 23,714
精华内容 9,485
热门标签
关键字:

怎么计算时间间隔天数