我想添加两次,例如import javax.swing.*;
import java.awt.Dimension;
import java.awt.Rectangle;
class Main extends JFrame {
JDesktopPane container = new JDesktopPane();
// New frame with 2 JInternalFrames inside a JDesktopPane inside a JScrollPane
Main(){
super("JDesktopPane SS");
setSize(1280, 720);
setLayout(new ScrollPaneLayout());
container.setBounds(new Rectangle(1920, 1080));
JScrollPane scrollContainer = new JScrollPane(container, JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED, JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
setContentPane(scrollContainer);
container.add(createFrame());
container.add(createFrame());
}
public static void main(String[] args){
SwingUtilities.invokeLater(() -> {
// Create new frame with 2 JInternalFrames inside a JDesktopPane inside a JScrollPane
JFrame main_frame = new Main();
main_frame.setVisible(true);
});
}
// Create new InternalFrame with a TextPane
private JInternalFrame createFrame(){
JInternalFrame new_frame = new JInternalFrame("Document");
new_frame.setResizable(true);
JTextPane txt = new JTextPane();
txt.setPreferredSize(new Dimension(100, 80));
new_frame.add(txt);
new_frame.pack();
new_frame.setVisible(true);
return new_frame;
}
}
和time1 = '00:05'
。我想在总和之后得到如下结果:time2 = '10:00'
。我用了那个时刻,这就是我用过的东西:
result='10:05'
但我一无所获,我怎么能这样做?
答案 0 :(得分:0)
您无法通过这种方式添加时间,因为您要求它添加两次,而不是时间加上持续时间。如果要添加十分钟,请使用持续时间为add()
的函数。
moment(this.time2, "hh:mm A").add(10, 'minutes')
更多信息:https://momentjs.com/docs/#/manipulating/add/
在你的问题中,00:05 PM
的含义并不是很清楚。这看起来不是一个有效的时间。时刻会把它解释为下午12:05,但看起来你想把它解释为5分钟。 (这是你得到10:05作为答案的唯一方法)。如果您不包含字符串的PM
部分,则可以暂时执行此操作。
moment.duration('00:05')
持续时间为五分钟。您可以将此添加到您的时间:
moment('10:00 PM', '"hh:mm A"').add(moment.duration('00:05'))
// 22:05:00
添加两个句点有效,但目前并不明显,如何格式化它就像你想要的那样。在将format()
添加到持续时间之前,必须这样做:
var d = moment.duration('03:10:10').add(moment.duration('01:20:30'))
moment.utc(d.as('milliseconds')).format("HH:mm:ss")
// '04:30:40'
答案 1 :(得分:0)
参见使用 moment.js 的 Add & Diff 示例..干杯?
// addTimes(["01:00", "00:30", "00:50"]) ---- 02:20
addTimes(times) {
let duration = 0;
times.forEach(time => {
duration = duration + moment.duration(time).as('milliseconds')
});
return moment.utc(duration).format("HH:mm")
}
// subtractTimes(["05:00", "00:30", "00:20"]) --- 04:10
subtractTimes(times) {
let totalDiff = 0
for (let i = 0; i < times.length; i++) {
let duration = moment.duration(times[i]).as('milliseconds')
if (i == 0) {
totalDiff = duration
}
if (i > 0) {
totalDiff = totalDiff - duration
}
}
return moment.utc(totalDiff).format("HH:mm")
}