localtime

day20 模块-sys,time,collection

醉酒当歌 提交于 2020-02-13 06:42:44
所有常用模块的用法: http://www.cnblogs.com/Eva-J/articles/7228075.html 前情回顾: # 常用模块 # 常用模块 —— 东西多 # 异常处理 # 什么是模块 # 面向对象 #面向对象编程 : #面向函数编程 :多用面向函数的思路写代码 View Code 正则复习: import re # ret = re.findall(r'www\.baidu\.com|www\.oldboy\.com',r'www.baidu.com') # ret = re.findall(r'www\.(baidu|oldboy)\.com',r'www.baidu.com') #findall取组内 # ret = re.findall(r'www\.(?:baidu|oldboy)\.com',r'www.baidu.com') #findall取组所有匹配的 # print(ret) #分组优先:优先显示括号内部的内容 #取消分组优先 # ret = re.search(r'www\.(?P<web_name>baidu|oldboy)\.com',r'www.baidu.com').group('web_name') #search取组内 # ret = re.search(r'www\.(?P<web_name>baidu|oldboy)\

时间模块

浪尽此生 提交于 2020-02-13 03:07:20
一、时间模块 和时间有关系的我们就要用到时间模块。在使用模块之前,应该首先导入这个模块。 #常用方法 1.time.sleep(secs) (线程)推迟指定的时间运行。单位为秒。 2.time.time() 获取当前时间戳 表示时间的三种方式: (1)时间戳(timestamp) :通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量。我们运行“type(time.time())”,返回的是float类型。 (2)格式化的时间字符串(Format String): ‘1999-12-06’ %y 两位数的年份表示(00-99) %Y 四位数的年份表示(000-9999) %m 月份(01-12) %d 月内中的一天(0-31) %H 24小时制小时数(0-23) %I 12小时制小时数(01-12) %M 分钟数(00=59) %S 秒(00-59) %a 本地简化星期名称 %A 本地完整星期名称 %b 本地简化的月份名称 %B 本地完整的月份名称 %c 本地相应的日期表示和时间表示 %j 年内的一天(001-366) %p 本地A.M.或P.M.的等价符 %U 一年中的星期数(00-53)星期天为星期的开始 %w 星期(0-6),星期天为星期的开始 %W 一年中的星期数(00-53)星期一为星期的开始 %x 本地相应的日期表示 %X 本地相应的时间表示

时间模块

房东的猫 提交于 2020-02-13 02:58:38
和时间有关系的就要用到时间模块。在使用模块之前,首先要导入这个模块。 表示时间的三种方式 在Python中,通常有这三种方式来表示时间:时间戳、元组(struct_time)、格式化的时间字符串: (1)时间戳(timestamp) :通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量。我们运行“type(time.time())”,返回的是float类型。 (2)格式化的时间字符串(Format String): ‘1999-12-06’ %y 两位数的年份表示(00-99) %Y 四位数的年份表示(000-9999) %m 月份(01-12) %d 月内中的一天(0-31) %H 24小时制小时数(0-23) %I 12小时制小时数(01-12) %M 分钟数(00=59) %S 秒(00-59) %a 本地简化星期名称 %A 本地完整星期名称 %b 本地简化的月份名称 %B 本地完整的月份名称 %c 本地相应的日期表示和时间表示 %j 年内的一天(001-366) %p 本地A.M.或P.M.的等价符 %U 一年中的星期数(00-53)星期天为星期的开始 %w 星期(0-6),星期天为星期的开始 %W 一年中的星期数(00-53)星期一为星期的开始 %x 本地相应的日期表示 %X 本地相应的时间表示 %Z 当前时区的名称 %% %号本身

【Java8实战】新的日期和时间API

狂风中的少年 提交于 2020-02-10 22:24:57
引言 Java 8之前的java.util.Date类以及其他用于建模日期时间的类有很多不一致及设计上的缺陷,包括易变性以及糟糕的偏移值、默认值和命名。 本篇博客将一起探索新的日期和时间API所提供的新特性。 LocalDate 该类的实例是一个不可变对象,它只提供了简单的日期,并不含当天的时间信息。另外,它也不附带任何与时区相关的信息。 我们可以通过静态工厂方法of创建一个LocalDate实例。LocalDate实例提供了多种方法来读取常用的值,比如年份、月份、星期几等,代码如下: //构造日期(年,月,日) LocalDate date = LocalDate.of(2014, 3, 18); System.out.println(date); //获取当前日期 LocalDate nowDate = LocalDate.now(); System.out.println(nowDate); //获取年份 int year = nowDate.getYear(); System.out.println(year); //获取月份 Month month = nowDate.getMonth(); System.out.println(month); //获取日 int day = nowDate.getDayOfMonth(); System.out.println(day)

时间API

笑着哭i 提交于 2020-02-10 12:35:10
1. 时间API 我们的时间在java里是long类型的整数,这个整数称之为时间戳(也叫格林威治时间),即从1970-01-01到现在为止所经过的毫秒数,单有这个时间戳是不能准确表达世界各地的时间,还需加上时区。比如现在输出笔者本地的时间 Mon Feb 10 09:48:43 GMT+08:00 2020 ,其中 GMT+08:00 表示格林威治时间的东8区,也就是北京时间。 2. 旧时间API java有两套与时间相关的API,分别位于java.util和java.time下,现在更推荐使用time包下的API,由于历史原因,我们还需兼容以前版本的时间函数,所以util也要来学习一下 2.1 Date Date类内部原理 private transient long fastTime; public Date() { this(System.currentTimeMillis()); } public Date(long date) { fastTime = date; } 从变量可以看出java时间戳使用long类型存储 默认构造函数中的 System.currentTimeMillis() 获取的是当前的时间戳 有参构造说明Date类是依赖时间戳的 从API和JDK可以知道Date内部很多函数都弃用了,打上了@Deprecated标签,旧API中也不推荐使用了

Java8日期和时间APIdemo

不打扰是莪最后的温柔 提交于 2020-02-09 11:39:35
/* * @description: Java 8之前老版的java.util.Date类以及其他用于建模日期时间的类有很多不一致及 * 设计上的缺陷,包括易变性以及糟糕的偏移值、默认值和命名。  新版的日期和时间API中,日期时间对象是不可变的。  * 新的API提供了两种不同的时间表示方式,有效地区分了运行时人和机器的不同需求。  * 你可以用绝对或者相对的方式操纵日期和时间,操作的结果总是返回一个新的实例,老 的日期时间对象不会发生变化。  * TemporalAdjuster让你能够用更精细的方式操纵日期,不再局限于一次只能改变它的 一个值,并且你还可按照需求定义自己的日期转换器。  * 你现在可以按照特定的格式需求,定义自己的格式器,打印输出或者解析日期时间对象。 这些格式器可以通过模板创建,也可以自己编程创建,并且它们都是线程安全的。 *  你可以用相对于某个地区/位置的方式,或者以与UTC/格林尼治时间的绝对偏差的方式表 示时区,并将其应用到日期时间对象上,对其进行本地化。  * 你现在可以使用不同于ISO-8601标准系统的其他日历系统了。 */ // 日期时间类中表示时间间隔的通用方法 // 方法名 是否是静态方法 方法描述 // between 是 创建两个时间点之间的interval // from 是 由一个临时时间点创建interval

常用模块

邮差的信 提交于 2020-02-07 12:00:16
为何使用模块? 随着程序的发展,功能越来越多,为了方便管理,我们通常将程序分成一个个的文件,这样做程序的结构更清晰,方便管理。这时我们不仅仅可以把这些文件当做脚本去执行,还可以把他们当做模块来导入到其他的模块中,实现了功能的重复利用 常用模块 collections模块 在内置数据类型(dict, list, set, tuple)的基础上,collection模块提供了几个额外的数据类型; Counter, deque, defaultdict, namedtuple, OrderedDict 1. namedtuple:生成可以使用名字来访问元素内容的tuple 2. deque:双端队列,可以快速的从另外一侧追加和推出对象 3. Counter:计数器,主要用来计数 4. OrderedDict:有序字典 5. defaultdict:带有默认值的字典 namedtuple View Code 类似的表示牌的花色和数字,也可以用namedtuple定义 1 Card = namedtuple('card', ['suits', 'num']) 2 c1 = Card('红桃', 2) 3 print(c1) # card(suits= '红桃', num = 2) View Code # nametupled('名称', [属性list]) deque 使用list存储数据时

Java日期时间API系列17-----Jdk8中java.time包中的新的日期时间API类,java日期计算4,2个日期对比,获取相差年月日部分属性和相差总的天时分秒毫秒纳秒等

会有一股神秘感。 提交于 2020-02-06 22:59:01
通过 Java日期时间API系列9-----Jdk8中java.time包中的新的日期时间API类的Period和Duration的区别 ,可以看出java8设计非常好,新增了Period和Duration类,专用于对比2个时间场景: Period,可以获取2个时间相差的年月日的属性。 Duration,可以获取2个时间相差总的天时分秒毫秒纳秒。 下面应用: /** * 获取2个日期的相差年月天的年数部分 * @param startInclusive * @param endExclusive * @return */ public static long betweenYears(LocalDateTime startInclusive, LocalDateTime endExclusive){ Objects.requireNonNull(startInclusive, "startInclusive"); Objects.requireNonNull(endExclusive, "endExclusive"); return Period.between(DateTimeConverterUtil.toLocalDate(startInclusive), DateTimeConverterUtil.toLocalDate(endExclusive)).getYears();

玩转时间操作 + 面试题

我的梦境 提交于 2020-02-06 10:01:19
玩转时间操作 + 面试题 在 JDK 8 之前,Java 语言为我们提供了两个类用于操作时间,它们分别是:java.util.Date 和 java.util.Calendar,但在 JDK 8 的时候为了解决旧时间操作类的一些缺陷,提供了几个新的类,用于操作时间和日期,它们分别是:LocalTime、LocalDateTime、Instant,都位于 java.time 包下。 时间的操作在我们日常的开发中经常见到,比如,业务数据都要记录创建时间和修改时间,并要把这些时间格式化之后显示到前端页面,再比如我们需要计算业务数据的时间间隔等,都离不开对时间的操作,那如何正确而优雅地使用时间?这就是我们接下来要讨论的话题。 时间基础知识科普 格林威治时间 格林威治(又译格林尼治)是英国伦敦南郊原格林威治天文台的所在地,它是世界计算时间和地球经度的起点,国际经度会议 1884 年在美国华盛顿召开,会上通过协议,以经过格林威治天文台的经线为零度经线(即本初子午线),作为地球经度的起点,并以格林威治为“世界时区”的起点。 格林威治时间和北京时间的关系 格林威治时间被定义为世界时间,就是 0 时区,北京是东八区。也就是说格林威治时间的 1 日 0 点,对应到北京的时间就是 1 日 8 点。 时间戳 时间戳是指格林威治时间 1970-01-01 00:00:00(北京时间 1970-01-01

《Java 8实战》读书笔记系列——第三部分:高效Java 8编程(四):使用新的日期时间API

喜欢而已 提交于 2020-02-05 09:24:22
https://www.lilu.org.cn/https://www.lilu.org.cn/ 第十二章:新的日期时间API 在Java 8之前,我们常用的日期时间API是 java.util.Date 和 java.util.Calendar 这两个类。 如果我们要构建一个指定年月日的日期时间对象,比如 2019-9-2 ,使用 java.util.Date 类的构造方法 Date(int year, int month, int date) ,传入的年份year参数必须是年份2019减去1900,即传入119。每次创建对象前还需要先进行计算,很不方便。 JDK 1.1提供的 java.util.Calendar 类在使用时也有很多不方便的地方,比如对一个日期加两天,使用 add 方法,传入2;对一个日期减两天,也使用 add 方法,传入-2。还有一点是这个类默认每周第一天是周日。使用起来也有点不方便。 归根到底,JDK1.8之前的日期时间API都是可变的,是线程不安全的。 另外,对时间日期进行格式化的类 SimpleDateFormat 在 java.text 包下,该类的定义位置不规范。它也是线程不安全的。 而在Java 8中,时间格式转化器是 java.time.format.DateTimeFormatter 类,它被声明为 final ,是不可变的类,线程安全。 另外