时间迭代和BigDecimal操作

常规小操作的代码:

import java.math.BigDecimal;
import java.sql.Timestamp;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.Iterator;

public class TestCommon {
    private static SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

    public static void main(String[] args) {
        System.out.println("===时间操作===");
        long times= 1471253315716l ;
        Timestamp ts =new Timestamp(times);
        System.out.println(df.format(ts));

        Calendar calendar = Calendar.getInstance();
        calendar.setTime(new Date());
        calendar.set(Calendar.DAY_OF_MONTH, calendar.get(Calendar.DAY_OF_MONTH)-30);
        System.out.println("---"+df.format(calendar.getTime()));

        System.out.println("===运算操作===");
        BigDecimal big1 = new BigDecimal(654);
        BigDecimal big2 = new BigDecimal("354.254788");
        //big1.compareTo(big2) = 0
        System.out.println((big1.add(big2)).setScale(2,BigDecimal.ROUND_HALF_UP));
        System.out.println(big1.divide(new BigDecimal(2), 2,BigDecimal.ROUND_HALF_UP));

        System.out.println("===迭代操作===");
        Iterable<BigDecimal> values= new ArrayList<>();
        BigDecimal sum = new BigDecimal(0);
        for (Iterator iter = values.iterator(); iter.hasNext();) {
            BigDecimal val = (BigDecimal)iter.next();
            sum = sum.add(val);
        }
    }
}
时间: 2024-10-06 05:34:52

时间迭代和BigDecimal操作的相关文章

前端和后台对时间数值的增减操作(JavaScript和C#两种方法)

最近在做一个视频回放项目,记录下一点总结. 应用背景: 假设有一个门禁系统记录着门禁的人员进出刷卡信息,门禁装有视频录像设备,现在要根据人员的刷卡时间调出其刷卡时间点前后一段时间的录像.关于视频回放部分具体实现过程较复杂本文不涉及,提一下其中涉及到的对时间数值的增减操作. 目标: 以时间格式的字符串“2015-01-01 00:00:00”为例,返回该时间点前30秒和后30秒的时间格式的字符串. 前端和后台起始都可以实现,只是方法不同而已. 后台(C#)实现方法: 1 string str =

timeout Timeout时间已到.在操作完成之前超时时间已过或服务器未响应

Timeout时间已到.在操作完成之前超时时间已过或服务器未响应 问题 在使用asp.net开发的应用程序查询数据的时候,遇到页面请求时间过长且返回"Timeout时间已到.在操作完成之间超时时间已过或服务器未响应"的情况 分析 造成这一问题的原因大概有以下几点:     1.Asp.net请求超时         2.Webservice请求超时          3.IIS请求超时          4.数据库连接超时 凭经验判断,应当是数据库连接超时造成,根据在网上找到的解决方法

程序迭代时测试操作的要点(后端&amp;前端)

今晚直播课内容简介,视频可点击链接免费听 <程序迭代时测试操作的要点(后端&前端)> ===== 1:迭代时后台涉及的操作有哪些?如何进行 a.更新war包:用于访问web\app b.更新数据库脚本:需要看研发有没有进行字段的增加/修改 c.更新后台程序:看研发有没有对后台的程序进行修改 ----- 2:前端如何访问迭代内容(web\app)? a.通过url--web b.打包app[ip地址]-安卓.IOS,需要手动安装最新的app或自动化安装 ----- 3:系统测试.回归测试

CalendarDemo2~4 对时间获取及设置操作

/** *    Calendar提供了可以针对不同时间分量(时间单位) *    单独设置值的相关方法 *    void set(int field,int value) *     对指定的时间分量设置指定的值 */ public class CalendarDemo2 { public static void main(String[] args) { Calendar calendar = Calendar.getInstance(); System.out.println(calen

SSH长时间登入不操作导致断开的解决办法有哪些?

大家肯定遇到过这样的情况,我们通过终端连接服务器时,当鼠标和键盘长时间不操作,服务器就会自动断开连接,我们还的需要重新连接,感觉很麻烦,下面总结一下解决此问题的方法 方法一: 修改/etc/ssh/sshd_config配置文件,找到ClientAliveCountMax(单位为分钟)修改你想要的值, 执行service sshd reload 方法二: 找到所在用户的.ssh目录,如root用户该目录在: /root/.ssh/ 在该目录创建config文件 vi /root/.ssh/con

oracle 如何查询过去某个时间点的记录(应用于某个时间点的误操作,回滚到之前的操作)

这个功能是在自己误操作,将某些数据更改错了,你想恢复更改错之前的数据,这个时候你可以使用这种方式 不过建议要小心更改数据,如果实在有必要去更新,请先备份数据表,不到万不得以才可以这么做. SELECT * FROM Aselect * from a as of timestamp to_timestamp('2016-6-22 16:35:00','yyyy-mm-dd hh24:mi:ss'); <该语句是查询2016-6-22 16:35:00' 这个时间点之前的数据,如果你需要这个时间点的

SSH长时间登入不操作导致断开该怎么办?

大家肯定遇到过这样的情况,我们通过终端连接服务器时,当鼠标和键盘长时间不操作,服务器就会自动断开连接,我们还的需要重新连接,感觉很麻烦,下面总结一下解决此问题的方法 方法一: 修改/etc/ssh/sshd_config配置文件,找到ClientAliveCountMax(单位为分钟)修改你想要的值, 执行service sshd reload 方法二: 找到所在用户的.ssh目录,如root用户该目录在: /root/.ssh/ 在该目录创建config文件 vi /root/.ssh/con

LDD读书笔记_时间,延迟和延缓操作

Agenda ?如何获得当前时间 ?如何度量时间差, 如何比较时间 ?如何将操作延迟指定的一段时间 ?如何调度异步函数到指定的时间之后执行 ?如何获得当前时间 ?HZ: 宏定义, 每秒的时间中断次数 ?Jiffies变量: 系统引导时初始化为0, 每发生一次时间中断就加1 –#include <linux/jiffies.h> –unsigned long j, stamp_1, stamp_half, stamp_n; –j = jiffies; /* current value */ –s

redis基本操作,基于StringRedisTemplate,存储,取值,设置超时时间,获取超时时间,插入list操作

@Autowired private StringRedisTemplate stringRedisTemplate; @GetMapping("/test") void test() { stringRedisTemplate.opsForValue().set("liuqi", "13221050705", 15, TimeUnit.MINUTES); String str1 = stringRedisTemplate.opsForValue