java定时器每月第一天,javaSpring定时器每个季度执行一次

spring源码深度解析第2版+教材

128.5元

包邮

(需用券)

去购买 >

fb835b8bcbbf1686065f8ea1b7992ccf.png

@Scheduled(cron = " 0 00 00 1 4,7,10,1 ?")//每个季度的第一天零点进行统计

此注解是每个季度结束后的下一天执行(因为Spring不识别字母(L---每月最后一天))所以只能采用下个月的第一天

以下代码针对时间进行处理

Calendar cal = Calendar.getInstance();//当前时间

int month = cal.get(Calendar.MONTH) + 1;//当前月份

int year = cal.get(Calendar.YEAR);//当前年

int quarter=0;//当前季度

int stm = 1;//季度的起始月份

int etm = 3;//季度的结束月份

switch (month){

case 1: stm = 10; etm=12; quarter=3; year=year-1; break;//因为一月份进入方法是统计上一年第四季度的信息,所以处理年份信息

case 10: stm = 7; etm=9; quarter=2; break;//本年

case 7: stm = 4; etm=6; quarter=1; break;//本年

case 4: stm = 1; etm=3; quarter=0; break;//本年

}

最终得到 year---年份

quarter--季度

stm --起始月份

etm终止月份

原文链接:https://www.cnblogs.com/sky-zky/p/11856058.html

实用现代javascript模块化系列

68.08元

(需用券)

去购买 >

9e420e584f75c3ae5a9b7c1434d171dc.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用Java中的ScheduledExecutorService类来实现定时器功能,并且使用JDBC连接到SQL Server数据库进行数据插入操作。以下是一个示例代码: ```java import java.util.Calendar; import java.util.Date; import java.util.concurrent.Executors; import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.TimeUnit; import java.sql.*; public class InsertData { public static void main(String[] args) { ScheduledExecutorService executor = Executors.newScheduledThreadPool(1); executor.scheduleAtFixedRate(new InsertTask(), 0, 1, TimeUnit.MINUTES); } } class InsertTask implements Runnable { @Override public void run() { try { // 设置JDBC连接信息 String url = "jdbc:sqlserver://localhost:1433;databaseName=mydatabase"; String username = "myusername"; String password = "mypassword"; Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); // 连接数据库 Connection conn = DriverManager.getConnection(url, username, password); // 获取当前时间 Calendar calendar = Calendar.getInstance(); Date now = calendar.getTime(); // 构建SQL语句并执行插入操作 String sql = "INSERT INTO mytable (time_stamp, value) VALUES (?, ?)"; PreparedStatement pstmt = conn.prepareStatement(sql); pstmt.setTimestamp(1, new Timestamp(now.getTime())); pstmt.setInt(2, 1); pstmt.executeUpdate(); // 关闭连接 pstmt.close(); conn.close(); } catch (Exception e) { e.printStackTrace(); } } } ``` 在上述代码中,我们使用了ScheduledExecutorService类来创建一个定时器,每分钟执行一次InsertTask任务。在任务中,我们使用JDBC连接到SQL Server数据库,并构建插入操作的SQL语句,将当前时间和一个固定的值插入到指定的数据表中。最后,我们关闭连接,完成任务。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值