开发中经常使用到日期,我比较常用的是joda-time包中的DateTime类,里面提供了的api基本满足了日常需求,以下是常用API的使用:
package test; import java.util.Calendar; import java.util.Date; import java.util.Locale; import org.joda.time.DateTime; import org.joda.time.DateTimeConstants; import org.joda.time.DateTimeZone; import org.joda.time.Duration; import org.joda.time.Interval; import org.joda.time.LocalDate; import org.joda.time.LocalTime; import org.joda.time.Period; import org.joda.time.PeriodType; public class TestDateTime { public static void main(String args[]) { /* * 1.初始化 */ //方法一:取系统点间 DateTime dt = new DateTime(); //方法二:通过java.util.Date对象生成 dt = new DateTime(new Date()); //方法三:指定年月日点分秒生成(参数依次是:年,月,日,时,分,秒,毫秒) dt = new DateTime(2012, 5, 20, 13, 14, 0, 0); //方法四:ISO8601形式生成 dt = new DateTime("2012-05-20"); dt = new DateTime("2012-05-20T13:14:00"); //只需要年月日的时候 LocalDate localDate = new LocalDate(2009, 9, 6);// September 6, 2009 //只需要时分秒毫秒的时候 LocalTime localTime = new LocalTime(13, 30, 26, 0);// 1:30:26PM /* * 2.获取年月日点分秒 */ //年 int year = dt.getYear(); //月 int month = dt.getMonthOfYear(); //日 int day = dt.getDayOfMonth(); //星期 int week = dt.getDayOfWeek(); //点 int hour = dt.getHourOfDay(); //分 int min = dt.getMinuteOfHour(); //秒 int sec = dt.getSecondOfMinute(); //毫秒 int msec = dt.getMillisOfSecond(); // 判断当前是星期几 switch(dt.getDayOfWeek()) { case DateTimeConstants.SUNDAY: System.out.println("星期日"); break; case DateTimeConstants.MONDAY: System.out.println("星期一"); break; case DateTimeConstants.TUESDAY: System.out.println("星期二"); break; case DateTimeConstants.WEDNESDAY: System.out.println("星期三"); break; case DateTimeConstants.THURSDAY: System.out.println("星期四"); break; case DateTimeConstants.FRIDAY: System.out.println("星期五"); break; case DateTimeConstants.SATURDAY: System.out.println("星期六"); break; } /* * 3.与JDK日期对象的转换 */ //转换成java.util.Date对象 Date d1 = new Date(dt.getMillis()); Date d2 = dt.toDate(); //转换成java.util.Calendar对象 Calendar c1 = Calendar.getInstance(); c1.setTimeInMillis(dt.getMillis()); Calendar c2 = dt.toCalendar(Locale.getDefault()); /* * 4.日期前后推算 (这个方法比较实用) */ //天 DateTime yesterday = dt.minusDays(1); DateTime tomorrow = dt.plusDays(1); //月 DateTime lastMonth = dt.minusMonths(1); DateTime nextMonth = dt.plusMonths(1); //周 DateTime lastWeek = dt.minusWeeks(-1); DateTime nexWeek = dt.plusWeeks(1); //年 DateTime lastYear = dt.minusYears(1); DateTime nextYear = dt.plusYears(1); /* * 5.取特殊日期 */ //月末日期 DateTime lastday = dt.dayOfMonth().withMaximumValue(); //90天后那周的周一 DateTime firstday = dt.plusDays(90).dayOfWeek().withMinimumValue(); /* * 6.设置时区 */ //日本时间 DateTimeZone.setDefault(DateTimeZone.forID("Asia/Tokyo")); dt = new DateTime(); //伦敦时间 dt = new DateTime(DateTimeZone.forID("Europe/London")); //东八区时间 DateTimeZone.setDefault(DateTimeZone.forID("Asia/Shanghai")); /* * 7.计算区间 */ DateTime begin = new DateTime("2012-02-01"); DateTime end = new DateTime("2012-05-01"); //计算区间毫秒数 Duration d = new Duration(begin, end); long time = d.getMillis(); //计算区间天数 Period p = new Period(begin, end, PeriodType.days()); int days = p.getDays(); //计算特定日期是否在该区间内 Interval i = new Interval(begin, end); boolean contained = i.contains(new DateTime("2012-03-01")); /* * 8.日期比较 */ DateTime dt1 = new DateTime("2012-02-01"); DateTime dt2 = new DateTime("2012-05-01"); //和系统时间比 boolean b1 = dt1.isAfterNow(); boolean b2 = dt1.isBeforeNow(); boolean b3 = dt1.isEqualNow(); //和其他日期比 boolean f1 = dt1.isAfter(dt2); boolean f2 = dt1.isBefore(dt2); boolean f3 = dt1.isEqual(dt2); /* * 9.格式化输出 */ DateTime dateTime = new DateTime(); String s1 = dateTime.toString("yyyy/MM/dd hh:mm:ss.SSSa"); String s2 = dateTime.toString("yyyy-MM-dd HH:mm:ss"); String s3 = dateTime.toString("EEEE dd MMMM, yyyy HH:mm:ssa"); String s4 = dateTime.toString("yyyy/MM/dd HH:mm ZZZZ"); //ZZZZ 表示 时区 String s5 = dateTime.toString("yyyy/MM/dd HH:mm Z"); } }
相关推荐
详解在c#语言中DateTime类的使用及其常用技巧 大家相互学习.
05.DateTime的辅助类 MyDateTimeHelper.cs 06.常用的目录操作辅助类 MyDirHelper.cs 07.枚举操作辅助类 MyEnumHelper 08.Excel操作辅助类(无需VBA引用) MyExcelHelper.cs 09.打开、保存文件对话框操作辅助类 ...
日期时间类,主要熟悉API,时区的概念与语言无关。 from datetime import datetime as dt dt.utcnow() # 系统UTC时间 dt.now() # 系统当前时间 dt(2018, 3, 27, 14, 30) # 获得2018-3-27 14:30对应的datetime对象 ...
这是一个给女朋友毕业设计的后端计算机复习题小程序的后端,Python3.5以上版本均可以使用(自己用3.7在公司测试用3.8都可以),采用API传递JSON的方式进行连接管理,用到了MYSQL,session等常用技术。 采用我也不...
Day 9 - 编写 API 499 Day 10 - 用户注册和登录 501 Day 11 - 编写日志创建页 511 Day 12 - 编写日志列表页 520 Day 13 - 提升开发效率 527 Day 14 - 完成 Web App 532 Day 15 - 部署 Web App 534 Day 16 - ...
back-end-do这是一个给女朋友毕业设计的后端计算机复习题小程序的后端,Python3.5以上版本均可以使用(自己用3.7在公司测试用3.8都可以),采用API传递JSON的方式进行连接管理,用到了MYSQL,session等常用技术。...
22.9 Day 9 - 编写API 410 22.10 Day 10 - 用户注册和登录 412 22.11 Day 11 - 编写日志创建页 423 22.12 Day 12 - 编写日志列表页 432 22.13 Day 13 - 提升开发效率 439 22.14 Day 14 - 完成Web App 443 22.15 Day ...
datetime collections base64 struct hashlib hmac itertools contextlib urllib XML HTMLParser 常用第三方模块 Pillow requests chardet psutil virtualenv 图形界面 网络编程 TCP/IP简介 TCP编程 UDP编程 电子...
Oracle 通过类似于OCCI的API为Dart提供Oracle...Dart垃圾收集了许多常用类的OCCI包装器。 支持: 基本类型(字符串,数字等) 日期和时间戳记为Dart DateTime类型 BLOB CLOB 执照 与自由软件一样免费。 LGPL v
2.7. 在其它类Unix系统中安装MySQL 2.8. 使用源码分发版安装MySQL 2.8.1. 源码安装概述 2.8.2. 典型配置选项 2.8.3. 从开发源码树安装 2.8.4. 处理MySQL编译问题 2.8.5. MIT-pthreads注意事项 2.8.6. 在Windows下从...
2.7. 在其它类Unix系统中安装MySQL 2.8. 使用源码分发版安装MySQL 2.8.1. 源码安装概述 2.8.2. 典型配置选项 2.8.3. 从开发源码树安装 2.8.4. 处理MySQL编译问题 2.8.5. MIT-pthreads注意事项 2.8.6. 在Windows下从...
2.7. 在其它类Unix系统中安装MySQL 2.8. 使用源码分发版安装MySQL 2.8.1. 源码安装概述 2.8.2. 典型配置选项 2.8.3. 从开发源码树安装 2.8.4. 处理MySQL编译问题 2.8.5. MIT-pthreads注意事项 2.8.6. 在Windows下从...
2.7. 在其它类Unix系统中安装MySQL 2.8. 使用源码分发版安装MySQL 2.8.1. 源码安装概述 2.8.2. 典型配置选项 2.8.3. 从开发源码树安装 2.8.4. 处理MySQL编译问题 2.8.5. MIT-pthreads注意事项 2.8.6. 在...
2.7. 在其它类Unix系统中安装MySQL 2.8. 使用源码分发版安装MySQL 2.8.1. 源码安装概述 2.8.2. 典型配置选项 2.8.3. 从开发源码树安装 2.8.4. 处理MySQL编译问题 2.8.5. MIT-pthreads注意事项 2.8.6. 在...
2.7. 在其它类Unix系统中安装MySQL 2.8. 使用源码分发版安装MySQL 2.8.1. 源码安装概述 2.8.2. 典型配置选项 2.8.3. 从开发源码树安装 2.8.4. 处理MySQL编译问题 2.8.5. MIT-pthreads注意事项 2.8.6. 在Windows下从...
2.4.6 datetime类型 81 2.5 引用类型(类) 82 2.5.1 object类 82 2.5.2 string类 83 2.5.3 xml字面量 87 2.5.4 dbnull类和isdbnull()函数 89 2.6 参数传递 89 2.7 变量的作用域 91 2.8 使用对象 92 ...
2.7. 在其它类Unix系统中安装MySQL 2.8. 使用源码分发版安装MySQL 2.8.1. 源码安装概述 2.8.2. 典型配置选项 2.8.3. 从开发源码树安装 2.8.4. 处理MySQL编译问题 2.8.5. MIT-pthreads注意事项 2.8.6. 在Windows下从...
2 常用功能处理方式 9 2.1 如何执行条件查询 9 2.1.1 查询示例 9 2.1.2 查询限制 9 2.1.2.1 Like 9 2.1.2.2 In 10 2.1.2.3 Between 10 2.1.2.4 Equal 10 2.1.2.5 NotEqual 10 2.1.2.6 GreaterThan 10 2.1.2.7 ...
2.7. 在其它类Unix系统中安装MySQL 2.8. 使用源码分发版安装MySQL 2.8.1. 源码安装概述 2.8.2. 典型配置选项 2.8.3. 从开发源码树安装 2.8.4. 处理MySQL编译问题 2.8.5. MIT-pthreads注意事项 2.8.6. 在Windows下从...