标签: date-difference

计算Java 8中两个日期之间的天数

我知道有很多关于如何获得的问题,但我想要和使用新的Java 8 Date api的例子.我也知道JodaTime库,但我想要一种没有外部库的工作方式.

功能需要抱怨这些限制:

  1. 防止日期保存时间错误
  2. 输入是两个Date的对象(没有时间,我知道localdatetime,但我需要处理日期实例)

java days date-difference java-8 java-time

219
推荐指数
9
解决办法
20万
查看次数

两个NSDates之间的快速日子

我想知道是否有一些新的和令人敬畏的可能性来获得Swift /"新"可可中两个NSDates之间的天数?

就像在Ruby中我会这样做:

(end_date - start_date).to_i
Run Code Online (Sandbox Code Playgroud)

date ios date-difference swift

96
推荐指数
9
解决办法
9万
查看次数

在DataFrame pandas中添加日期之间的天数列

我想从'B'中的日期中减去'A'中的日期,并添加一个带有差异的新列.

df
          A        B
one 2014-01-01  2014-02-28 
two 2014-02-03  2014-03-01
Run Code Online (Sandbox Code Playgroud)

我尝试了以下内容,但是当我尝试将其包含在for循环中时出现错误...

import datetime
date1=df['A'][0]
date2=df['B'][0]
mdate1 = datetime.datetime.strptime(date1, "%Y-%m-%d").date()
rdate1 = datetime.datetime.strptime(date2, "%Y-%m-%d").date()
delta =  (mdate1 - rdate1).days
print delta
Run Code Online (Sandbox Code Playgroud)

我该怎么办?

python date-difference pandas

74
推荐指数
3
解决办法
10万
查看次数

Joda Time和Java8时差

我正在寻找一个计算两个日期之间的月份的解决方案.我认为joda或java8时间可以做到.但是当我比较它们时,我发现了一些非常奇怪的东西.

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.temporal.ChronoUnit;
import java.util.Date;
import org.joda.time.Months;

public class DateMain {
    public static void main(String[] args) throws ParseException {

    SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
    Date d1 = simpleDateFormat.parse("2017-01-28 00:00:00.000");
    Date d2 = simpleDateFormat.parse("2017-02-28 00:00:00.000");

    System.out.println("Test Cast 1");
    System.out.println("joda time api result: " + monthsBetweenJoda(d1, d2) + " month");
    System.out.println("java8 time api result: " + monthsBetweenJava8(d1, d2) + " month");

    Date dd1 = simpleDateFormat.parse("2017-01-29 00:00:00.000");
    Date dd2 = simpleDateFormat.parse("2017-02-28 00:00:00.000");

    System.out.println("Test Cast …
Run Code Online (Sandbox Code Playgroud)

java jodatime date-difference java-8 jsr310

28
推荐指数
1
解决办法
1111
查看次数

SQL Server:datediff函数在使用MILLISECOND时导致溢出

我有以下查询:

select CONVERT(varchar(12), DATEADD(MILLISECOND, DateDiff(MILLISECOND, '2014-08-04 10:37:28.713','2014-11-04 08:21:17.723'), 0), 114)
Run Code Online (Sandbox Code Playgroud)

当我执行此操作时,我收到错误:"datediff函数导致溢出.分隔两个日期/时间实例的日期部分的数量太大.尝试使用具有不太精确的日期部分的datediff."

当我将查询更改为以下时,它工作正常:

select CONVERT(varchar(12), DATEADD(SECOND, DateDiff(SECOND, '2014-08-04 10:37:28.713','2014-11-04 08:21:17.723'), 0), 114)
Run Code Online (Sandbox Code Playgroud)

问题是我真的需要MILLISECONDS.

sql-server date-difference sql-server-2012

17
推荐指数
4
解决办法
4万
查看次数

如何使用Hive以分钟为单位获取日期差异

下面的查询是我的sql server查询,我希望它将其转换为hive查询:

select DATEDIFF([minute], '19000101', '2013-01-01 10:10:10')
Run Code Online (Sandbox Code Playgroud)

sql hadoop hive date-difference

10
推荐指数
1
解决办法
3万
查看次数

如何在java中找到两个时间戳的区别?

我有一个ArrayList包括几个时间戳的目标是找到第一个和最后一个元素的差异ArrayList.

String a = ArrayList.get(0);
String b = ArrayList.get(ArrayList.size()-1);
long diff = b.getTime() - a.getTime();
Run Code Online (Sandbox Code Playgroud)

我也将类型转换为int但仍然给我一个错误The method getTime is undefined for the type String.

附加信息 :

我有一个A类,其中包括

String timeStamp = new SimpleDateFormat("ss S").format(new Date());
Run Code Online (Sandbox Code Playgroud)

并且有一个B类有一个方法 private void dialogDuration(String timeStamp)

dialogueDuration方法包括:

String a = timeSt.get(0); // timeSt  is an ArrayList which includes all the timeStamps
String b = timeSt.get(timeSt.size()-1);   // This method aims finding the difference of the first and the last elements(timestamps) …
Run Code Online (Sandbox Code Playgroud)

java datetime arraylist date-difference

9
推荐指数
2
解决办法
7万
查看次数

将Period添加到startDate不会产生endDate

我有两个LocalDate声明如下:

val startDate = LocalDate.of(2019, 10, 31)  // 2019-10-31
val endDate = LocalDate.of(2019, 9, 30)     // 2019-09-30
Run Code Online (Sandbox Code Playgroud)

然后我使用Period.between函数计算它们之间的周期:

val period = Period.between(startDate, endDate) // P-1M-1D
Run Code Online (Sandbox Code Playgroud)

此处的期间为负数的月份和天数,如果endDate早于,则可以预期startDate

但是,当我将其添加period回时startDate,得到的结果不是endDate,而是前一天的日期:

val endDate1 = startDate.plus(period)  // 2019-09-29
Run Code Online (Sandbox Code Playgroud)

所以问题是,为什么不不变

startDate.plus(Period.between(startDate, endDate)) == endDate

保留这两个日期?

Period.between谁返回了不正确的期限,还是LocalDate.plus谁添加了不正确的期限?

period date-difference kotlin java-time localdate

8
推荐指数
1
解决办法
194
查看次数

考虑AM/PM,计算Java中的日期/时间差

我想使用Date和Calendar类来计算java中两个日期/时间之间的差异.我的格式是"2012-01-24 12:30:00 PM".

我已经实现了我自己的方法,并且谷歌它与其他人合作,但没有得到正确的提示来处理AM和PM值.

只要时间有12(上午/下午),日期/时间差就会受到影响.例如,如果我有日期/时间"2012-01-24 12:30:00 PM"和"2012-01-24 02:30:00 PM",则显示差异为10小时.

考虑到此链接上的代码,如何修改它以处理AM和PM.

要将字符串日期转换为日期,请使用以下代码:

    String sessionTimeStart = "2012-01-24 12:30:00 PM";
    String sessionTimerEndOrCurrent = "2012-01-24 02:30:00 PM";
    SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss a"); 

    Date d1 = null;
    Date d0 = null; 
    try {
        d1 = format.parse(sessionTimeStart);
        d0 = format.parse(sessionTimerEndOrCurrent);
    } catch (ParseException e1) {
        // TODO Auto-generated catch block
        e1.printStackTrace();
    }
Run Code Online (Sandbox Code Playgroud)

java calendar date date-arithmetic date-difference

7
推荐指数
2
解决办法
1万
查看次数

datetime.now() 和用日期填充的系列之间的 Python 年差异?

我想在我的数据集中创建一个新列,这是今天与数据集中已有的另一列之间的年份差异,填充了日期。

上面的代码:

df['diff_years'] = datetime.today() - df['some_date']
df['diff_years']
Run Code Online (Sandbox Code Playgroud)

给我以下输出(示例):

1754 days 11:44:28.971615
Run Code Online (Sandbox Code Playgroud)

我必须得到类似的东西(意味着上面的输出以年为单位):

4,8 
(or 5)
Run Code Online (Sandbox Code Playgroud)

我感谢任何帮助!

PS。:我想避免循环系列,我相信路径会给我一个想要的解决方案,但由于有一个大系列,我想避免这种方式。

python datetime series date-difference pandas

6
推荐指数
1
解决办法
3707
查看次数