在java项目中,需要客户定制离线授权时,怎么保证软件时效性呢? 如果用日期授权比如一年,如果单纯的获取系统时间,在离线的情况下,如果客户修改系统时间,软件的授权无法控制. 导致经济利益的损失. / public class TestStrings { //加密串 public static String strpw= "QQ/VX:75238016"; //授权日期 import java.util.Arrays; import java.util.Base64; import java.util.Base64.Decoder; import java.util.Date SecretKeySpec(Arrays.copyOf(MessageDigest.getInstance("MD5").digest(ZkCC.getBytes(StandardCharsets.UTF_8)), b[7] = " ".length(); b[4] = (0x1E ^ 0x1A); b[5] = (0x6 ^ 0x3); b[6] = (0xC3 ^ 0xC5); b[7]
(一): 获取系统当前时间 直接new Date类 的无参构造方法 Date类的toString方法已被重写所以不会输出内存地址 输出结果: 星期几 月份 几号 (二) 改写日期的格式 把想要的格式传给构造方法 然后再调用SimpleDateFormat类的 format方法 传入Date类的引用 结果如图: SimpleDateFormat类的 format方法 (三):日期字符串转换为 Date类也就是默认的输出格式 结果如下: (四 )计算昨天的现在时 结果: (五): 数字的格式化 :java.text.DecimalFormat 负责数组格式化 结果如下: (六):高精度的计算
直接下载mysql-***-1.el7.x86_64.rpm-bundle.tar,所有的rpm包都在里面 上传至服务器并解压,会有很多包,依次执行以下命令 rpm -ivh mysql-community-common -5.7.21-1.el7.x86_64.rpm rpm -ivh mysql-community-libs-5.7.21-1.el7.x86_64.rpm rpm -ivh mysql-community-devel -5.7.21-1.el7.x86_64.rpm rpm -ivh mysql-community-libs-compat-5.7.21-1.el7.x86_64.rpm rpm -ivh mysql-community-client -5.7.21-1.el7.x86_64.rpm rpm -ivh mysql-community-server-5.7.21-1.el7.x86_64.rpm 执行过程中可能会有报错,提示你缺少依赖包
linux-thread-multi (with 39 registered patches, see perl -V for more detail) 包页面:https://centos.pkgs.org/7/ centos-aarch64/perl-Data-Dumper-2.145-3.el7.aarch64.rpm.html 跳到下载页面:http://rpmfind.net/linux/rpm2html query=perl-Data-Dumper(x86-64) 选中centos7 对应版本,并下载:perl-Data-Dumper-2.145-3.el7.x86_64.rpm 网址不错,可以搜索下载其他各种包 解压,进入目录安装: $ rpm -ivh perl-Data-Dumper-2.145-3.el7.x86_64.rpm Preparing... ################################# [100%] Updating / installing... 1:perl-Data-Dumper-2.145-3.el7
yum -y install gcc 但是如果系统不可联网,那么就需要一种离线安装的方式了。步骤如下: 1. 从CentOS7的系统安装镜像中取出需要的rpm包(也可以通过别的方式获取):解压镜像文件,进入”Packages”目录,里面很多rpm包,取出如下几个: mpfr-3.1.1-4.el7.x86_64 .rpm libmpc-1.0.1-3.el7.x86_64.rpm kernel-headers-3.10.0-123.el7.x86_64.rpm glibc-headers-2.17-55.el7 .x86_64.rpm glibc-devel-2.17-55.el7.x86_64.rpm cpp-4.8.2-16.el7.x86_64.rpm gcc-4.8.2-16.el7.x86_64.rpm -ivh glibc-devel-2.17-55.el7.x86_64.rpm rpm -ivh cpp-4.8.2-16.el7.x86_64.rpm rpm -ivh gcc-4.8.2-16.el7
仅做离线下载的方法分享,使用者应该遵守所在服务器运营商相关规定,勿滥用,否则一切后果由使用者自负,与分享者无关。
java.util 包提供了 Date 类来封装当前的日期和时间。 Date 类提供两个构造函数来实例化 Date 对象。 第一个构造函数使用当前日期和时间来初始化对象。 4 int compareTo(Date date)比较当调用此方法的Date对象和指定日期。两者相等时候返回0。调用对象在指定日期之前则返回负数。调用对象在指定日期之后则返回正数。 7 long getTime( )返回自 1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象表示的毫秒数。 8 int hashCode( ) 返回此对象的哈希码值。 获取当前时间实例: import java.util.Date; public class Demo { public static void main(String args[]) { (date.toString()); } } 运行结果: 日期和时间的格式化编码 时间模式字符串用来指定时间格式。
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd"); String str = "2016/05/23"; // 将字符串的日期转为 Calendar calendar = Calendar.getInstance(); calendar.setTime(date); // add方法中的第二个参数n中,正数表示该日期后 n天,负数表示该日期的前n天 calendar.add(Calendar.DATE, -10); Date date1 = calendar.getTime();
CentOS 7下使用rpm包安装mysql 5.7.18 entos 7 卸载 mariadb 1.查看已安装MariaDB相关的包 rpm -qa | grep mariadb 2.卸载mariadb rpm -e mariadb-libs-5.5.37-1.el7_0.x86_64 rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86 mysql相关的包 离线包:mysql-5.7.18-1.el7.x86_64.rpm-bundle.tar 相关依赖包:libaio-0.3.109-13.el7.x86_64.rpm 解压包:tar rpm -ivh mysql-community-common-5.7.18-1.el7.x86_64.rpm rpm -ivh mysql-community-libs-5.7.18-1.el7.x86 _64.rpm rpm -ivh mysql-community-client-5.7.18-1.el7.x86_64.rpm rpm -ivh libaio-0.3.109-13.el7.x86_64
拓展:离线所需rpm包如何获取? 百度不好找,找个可上网的服务器 yum install yum-utils 然后 yumdownloader <package-name> 即可。 离线: rpm -ivh fontconfig-2.13.0-4.3.el7.x86_64.rpm --nodeps --force C:\Windows\Fonts 下找自己需要字体 cd /usr myfonts 上传字体文件到myfonts 赋权 chmod -R 755 /usr/share/fontconfig/myfonts/ rpm -ivh ttmkfdir-3.0.9-42.el7.
MySQL 是一种数据库。数据库定义了存储信息的结构。以表的方式存储信息,设置有索引可以快速定位到需要的内容,避免查找数据时要遍历整个库,耗费资源速度也太慢。
首先下载离线 RPM 包: 首先在 Docker 官方网站下载 CentOS 所需要的 RPM 包: https://download.docker.com/linux/centos/7/x86_64/ stable/Packages/ #选择如下两个文件: docker-ce-19.03.5-3.el7.x86_64.rpm docker-ce-cli-19.03.5-3.el7.x86 _64.rpm containerd.io-1.2.6-3.3.el7.x86_64.rpm docker-ce-selinux-17.03.3.ce-1.el7.noarch.rpm x86_64.rpm sudo yum install /opt/usr/jcjc/docker-ce-cli-19.03.5-3.el7.x86_64.rpm sudo yum install -17.03.3.ce-1.el7.noarch.rpm 启动Docker sudo systemctl start docker # 启动服务 sudo systemctl enable docker
当我们在Java中操作日期时,可以使用java.util.Date和java.util.Calendar类来实现。为了提高代码的可读性和简化操作,我们可以创建一个日期工具类,封装常用的日期操作方法。 日期工具类的代码如下: import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar ; import java.util.Date; public class DateUtils { /** * 提取日期的年份 * @param date 日期 * @param date1 日期1 * @param date2 日期2 * @return -1:日期1 < 日期2,0:日期1 = 日期2,1:日期1 > 日期2 在判断日期大小的方法compareDate中,返回-1表示日期1小于日期2,0表示日期1等于日期2,1表示日期1大于日期2。 可以根据具体需求,调用相应的方法来进行日期的操作。
Date java.util.Date对象表示一个精确到毫秒的瞬间; 但由于Date从JDK1.0起就开始存在了,历史悠久,而且功能强大(既包含日期,也包含时间),所以他的大部分构造器/方法都已Deprecated Calendar 由于Date存在缺陷,所以JDK又提供了java.util.Calendar来处理日期和时间.Calendar是一个抽象类,是所有日历类的模板,因此,我们可以继承Calendar来实现其他的历法 (比如阴历); Java中提供了一种Calendar的默认实现java.util.GregorianCalendar格里高利日历(其实JDK还默认提供了一款日本历法java.util.JapaneseImperialCalendar 日期格式化 完成字符串与日期对象的转化(format/parse) DateFormat java.text.DateFormat是一个抽象类, 他提供了如下几个方法获取DateFormat对象. ? SimpleDateFormat java.text.SimpleDateFormat可以非常灵活的格式化Date, 也可以用于解析各种格式的日期字符串.创建SimpleDateFormat对象时需要传入一个
1.格式化时间(SimpleDateFormat) import java.text.SimpleDateFormat; import java.util.Date; public class Main 获取当前时间 import java.text.SimpleDateFormat; import java.util.Date; public class Main{ public static 获取年份、月份等 import java.util.Calendar; public class Main { public static void main(String[] args) { Calendar.DAY_OF_YEAR); System.out.println("当期时间: " + cal.getTime()); System.out.println("日期
TimeZone package cn.netkiller.example; import java.sql.Timestamp; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; import java.util.TimeZone String to Date package cn.netkiller.example; import java.text.ParseException; import java.text.SimpleDateFormat 比较两个日期与时间 package cn.netkiller.example; import java.text.DateFormat; import java.text.SimpleDateFormat ; import java.util.Date; public class DateCompare { public DateCompare() { // TODO Auto-generated
这里我总结了java中日期的处理方法 /** * 按照yyyy-MM-dd HH:mm:ss格式化日期 * 可根据需要定制 * @param date * @return * (Date date) { sdf.applyPattern("yyyy-MM-dd HH:mm:ss"); return sdf.format(date); } /** * 给根据日期添加天数 * * @param date * 日期 * @param hour * 要添加的小时 * @return */ public * * @param date * 日期 * @param hour * 要添加的小时 * @return */ public * * @param date * 日期 * @param month * 要加的月数 * @return */ public
日期处理类 Date类 当前日期时间 java.util.Date import java.util.Date; public class TestDemo { public static void * SimpleDateFormat * 包:java.text.SimpleDateFormat 专门实现国际化开发的包 simpleDateFormat是专门处理日期格式的类,转换为String显示 将Date数据转为 String型数据 import java.text.SimpleDateFormat; import java.util.Date; public class TestDemo 字符串转为日期 import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; public System.out.println(buf); } } 总结 数据库中的日期型数据使用 java.uitl.Date 表示 代码模型:SimpleDateFormat 类实现String与Date
日期格式化的跨年问题 通常格式化日期时,都是使用的YYYY/MM/dd来格式化日期,但是在遇到跨年日期时,就会遇到很神奇的现象,如下: 1 2 3 4 5 6 7 8 9 10 11 final 使用新的日期API格式化日期时发生如下异常: 1 2 3 4 5 java.time.DateTimeException: Field DayOfYear cannot be printed as the :1746) at java.time.format.DateTimeFormatter.format(DateTimeFormatter.java:1720) 这个跟日期格式有关,这里我使用的是YYMMDD 参考链接 Java YYYY/MM/dd遇到跨年日期的问题 YYYY-MM-DD 的黑锅,我们不背! Java日期时间API系列19–Jdk8,ZonedDateTime和时区转换。 【java8中的时间操作】java8中获取月的最后一天或者总天数,JDK8 LocalDate AP localdate 比较两个时间_Java 8中处理日期和时间示例 日期格式‘YYYY-MM-DD’
、时间、数字、货币等格式 zh_CN: 表示的是中国的Local,日期用年月日表示2020-07-05 en_US: 表示的是美国的Local,日期用日月年表示05/07/2020 计算机用Local在日期 、时间、货币和字符串之间进行转换 中国用户 美国用户 购买价格: 12000.0 12,000.00 购买日期: 2020-07-05 05/07/2020 java.time的API java.time LocalDate d2 = LocalDate.of(2020, 7, 5); // 2020-07-05,注意 7=7月 LocalTime t2 = LocalTime.of(16 为true时,就会jdbc对应的日期类型会转成java8中的LocateDateTime类型,如果useJSR310Types为false,则还是转成java.util.Date类型。 中的日期类型,记得要在项目中引入mybatis-typehandlers-jsr310,这个主要是处理java8中的日期类型。