我只想从datetime
中减去1个小时。我试着在Google上查找,发现有一个名为minus的方法,它获取日期的副本并在这里获取特定的持续时间:http://www.joda.org/joda-time/apidocs/org/joda/time/datetime.html#minus(long)
但我不知道如何使用它,我也找不到一个例子在互联网上。
下面是我的代码:
String string1 = (String) table_4.getValueAt(0, 1);
String string2= (String) table_4.getValueAt(0, 2);
DateTimeFormatter dtf = DateTimeFormat.forPattern("hh:mm a").withLocale(Locale.ENGLISH);
DateTime dateTime1 = dtf.parseDateTime(string1.toString());
DateTime dateTime2 = dtf.parseDateTime(string2.toString());
final String oldf = ("hh:mm a");
final String newf= ("hh.mm 0");
final String newf2= ("hh.mm a");
final String elapsedformat = ("hh.mm");
SimpleDateFormat format2 = new SimpleDateFormat(oldf);
SimpleDateFormat format2E = new SimpleDateFormat(newf);
Period timePeriod = new Period(dateTime1, dateTime2);
PeriodFormatter formatter = new PeriodFormatterBuilder()
.appendHours().appendSuffix(".")
.appendMinutes().appendSuffix("")
.toFormatter();
String elapsed = formatter.print(timePeriod);
table_4.setValueAt(elapsed,0,3);
DecimalFormat df = new DecimalFormat("00.00");
System.out.println(dateTime1);
table_4.setValueAt("", 0, 4);
table_4.setValueAt("", 0, 5);
dateTime1: 08:00 AM
dateTime2: 05:00 PM
dateTime1.minus(-1)
我还尝试将string1
解析为double,这样就可以减去1。
double strindtoD = Integer.parseInt(string1);
我还尝试创建另一个datetime
,并使用period来获取两个时间的差值
String stringOneHour = ("01:00 AM");
DateTime dateTime3 = dtf.parseDateTime(stringOneHour.toString());
Period timePeriod = new Period(dateTime3, dateTime1);
只需使用:
dateTime.minusHours(1)
这在API中有记录。
请注意,datetime
对象是不可变的,因此单独的操作没有影响。您需要将此方法的结果分配给一个新对象(或替换其本身):
dateTime = dateTime.minusHours(1);
Period period = new Interval(begin, end).toPeriod();
附带说明:Joda Time在其API中使用了大量的间接;因此,读取Javadoc不仅需要读取一个类的方法,还需要查看来自所有继承的抽象类/接口的继承方法列表;例如,datetime
也是readableinstant
。不过,你习惯了,这是轻而易举的事。
我将Datagrip用于PostgreSQL。我有一个带有时间戳格式的日期字段的表。我希望能够: 应用数学运算符减去1天 根据当前-130天的时间窗口对其进行筛选 不显示邮票的HH/MM/SS部分(2016-10-31) 当前开始查询: 第1行的子句导致: [42883]错误:运算符不存在:没有时区的时间戳-整数提示:没有与给定名称和参数类型匹配的运算符。您可能需要添加显式类型转换。职位:69 子
我正在为Postgresql使用Datagrip。我有一个带有时间戳格式的日期字段的表(例如:2016-11-01 00:00:00)。我希望能够: 应用数学运算符减去1天 当前开始查询: 第1行的子句导致: [42883]错误:运算符不存在:没有时区的时间戳-整数提示:没有与给定名称和参数类型匹配的运算符。您可能需要添加显式类型转换。职位:69 子句产生了类似的消息: [42883]错误:运算符
问题内容: 我得到一个datetime字段,当前在查询中为: 我想做的是从该日期减去3个小时(格林尼治标准时间问题),但是我无法在PHP中执行此操作,因为PHP仅知道日期部分,而不是时间。 问题答案: MySQL具有: 但是尝试解决潜在的时区问题会更好吗?
本文向大家介绍向MYSQL中已插入的日期时间记录插入当前时间减去1小时,包括了向MYSQL中已插入的日期时间记录插入当前时间减去1小时的使用技巧和注意事项,需要的朋友参考一下 要减去日期,请使用MySQL DATE_SUB()。让我们首先创建一个- 使用insert在表中插入一些记录- 使用选择显示表中的所有记录- 这将产生以下输出- 以下是插入当前时间减去1小时的查询。我们将在这里更新- 当前日
问题内容: 我想比较两个日期,但是我遇到了麻烦。从一个对象创建一个日期,然后手动制作另一个日期。以下代码是一个示例: 但是测试结果。我猜是因为时间的缘故。如何检查这两个日期是否相等(我的意思是年,月,日相同)? 问题答案: 要么
问题内容: 我一直在寻找答案已有几个小时,但找不到。 我正在写一个简单的。用户设置他们的工作开始和结束时间。例如,某人的工作时间是从8:00到16:00。我该如何减去这个时间来查看此人已经工作了多长时间了? 我正在尝试,但没有成功… 问题答案: 以下是更好的方法: 那会给你带来时间上的差异。