如何解决PHP DatePeriod在午夜前后带时间,只有日期
我需要找到两次无日期之间的15分钟间隔,如果两次都在00:00之前,那么一切都很好。我正在传递类似17:00
,23:00
和01:30
这样的时间。
午夜之后的问题当然是另一天,所以这就是失败的原因。我想知道是否有一种方法可以找到间隔而不考虑,因为结束时间可以是任何时间。在午夜之前或之后,因此添加真实日期可能不是理想的选择,仅在午夜之后的几个小时内没有其他事情了。
$period = new DatePeriod(
new DateTime("17:00"),new DateInterval('PT15M'),new DateTime("01:00")
);
不返回任何内容,将不胜感激。
解决方法
由于仅使用时间部分,因此日期将自动设置为当前日期。这使得结束时间小于开始时间。
但是,如果您使用真实的日期(那并不重要),然后在1点钟选择第二天...
$period = new DatePeriod(
new DateTime("1970-01-01 17:00"),new DateInterval('PT15M'),new DateTime("1970-01-02 01:00")
);
foreach ($period as $date) {
echo $date->format("H:i").' - ';
}
hth
,如果结束时间比开始时间短,除了结束时间增加1天外,我看不到其他任何选择。
package javaapplication48;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class JavaApplication48 {
public static void main(String[] args) {
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLayout(null);
frame.setSize(500,500);
frame.setVisible(true);
JLabel label = new JLabel();
label.setText("<html>"
+ " <p class=\"fasz\">"
+ " <p style=\"text-orientation: sideways-right;writing-mode: vertical-rl\">"
+ " Picsa"
+ " </p>"
+ "</html>");
frame.add(label);
label.setBounds(0,200,200);
JLabel ctrl =new JLabel();
ctrl.setText("<html>"
+ " <p class=\"fasz\">"
+ " <p style=\"color:red\">"
+ " Picsa"
+ " </p>"
+ "</html>");
ctrl.setBounds(0,300);
frame.add(ctrl);
ctrl.updateUI();
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。