c#日期转换周几_Java时间与日期

8cf76982010c0ccdc056f3948231c1c0.png
只有把眼前的事情做好,才能考虑其他的问题。
  • 众所周知,全世界在同一时刻看手表肯定不会看到同一个时间,因为地球是圆的,面对太阳的角度是不一样的,我们一般说时间几点几点,是指的本地时间,比如国内大部分以北京时间为准
  • 光靠本地时间是无法准确表示真正的时间,因为北京的本地时间和美国的本地时间肯定不是同一个时间,所以产生了时区这个概念,全球一共有24个时区,以伦敦为标准时区,其他市区按照东西偏移,北京所在市区是东八区。
  • 时区一般由UTC表示,因为UTC更为标准,还有GMT基本等价于UTC。东八区一般用UTC+08:00
  • 夏令时是更复杂的计算方式,通常夏天开始的时候把时间往后拨1小时,夏天结束往前拨1小时,不过中国已经废除,美国还在使用
  • 计算机中,通常使用Local表示一个国家或者地区的日期、时间、数字、货币等格式,因为不同国家表示习惯不一样。zh_CN表示中文+中国,en_US表示英语+美国

时间戳

  • 时间戳是从1970年1月1日(格林威治时区/GMT+00:00)开始到现在的秒数,然后根据各个时区转化为当地时间
  • 可以使用System.currentTimeMillis()获取当前时间戳

Date基本用法

  • Date定义在java.util包中,包中还包括Calendar和TimeZone
  • 最新的JDK8+还有一套新的API,定义在java.time包中,主要包括LocalDateTime、ZonedDateTime、ZoneId
  • 在java.sql中还有一个Date类,这个Date类用在户数据库中,要注意区分
 public static void getDate() {System.out.println(System.currentTimeMillis());// 获取当前时间Date对象:Date date = new Date();System.out.println(date.getYear() + 1900); //获取当前年 必须加上1900System.out.println(date.getMonth() + 1); //获取当前月份 0~11,必须加上1System.out.println(date.getDate()); //获取当前日期 1~31,不能加1// 转换为String:System.out.println(date.toString());// 转换为GMT时区:System.out.println(date.toGMTString());// 转换为本地时区:System.out.println(date.toLocaleString());System.out.println((new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")).format(date)); // 根据具体格式转化时间}

Calendar

  • Calendar可以设置并获取年月日,和Date相比,多了一个时间计算的功能
 public static void getCalendar() {// 获取当前时间:Calendar c = Calendar.getInstance();System.out.println(new SimpleDateFormat("yyyy-mm-dd HH:mm:ss").format(c.getTime())); // getTime 转化为Date对象System.out.println(c.get(Calendar.YEAR)); // 获取年System.out.println(1 + c.get(Calendar.MONTH)); // 获取月System.out.println(c.get(Calendar.DAY_OF_MONTH)); // 获取日System.out.println(c.get(Calendar.DAY_OF_WEEK)); // 获取周几System.out.println(c.get(Calendar.HOUR_OF_DAY)); // 获取小时System.out.println(c.get(Calendar.MINUTE)); // 获取分钟System.out.println(c.get(Calendar.SECOND)); // 获取秒System.out.println(c.get(Calendar.MILLISECOND)); // 获取毫秒Calendar calendar = Calendar.getInstance();calendar.set(Calendar.YEAR,2011); // 设置年System.out.println(new SimpleDateFormat("yyyy-mm-dd HH:mm:ss").format(calendar.getTime()));calendar.clear(); // 清除日期System.out.println(new SimpleDateFormat("yyyy-mm-dd HH:mm:ss").format(calendar.getTime()));}

TimeZone

  • 时区,可以用来获取时区,转换时区
 public static void timeZoneDemo () {System.out.println(TimeZone.getDefault().getID());System.out.println(TimeZone.getTimeZone("GMT+10:00").getID()); // GMT+10:00 时区System.out.println(TimeZone.getTimeZone("Asia/Shanghai").getID());// 将上海时间转化为纽约时间Calendar calendar = Calendar.getInstance();calendar.clear();calendar.setTimeZone(TimeZone.getTimeZone("Asia/Shanghai"));calendar.set(2020,1,2,3,04,0);SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");System.out.println(simpleDateFormat.format(calendar.getTime()));simpleDateFormat.setTimeZone(TimeZone.getTimeZone("America/New_Yourk"));System.out.println(simpleDateFormat.format(calendar.getTime()));}

LocalDateTime

  • LocalDateTime可以打印当前日期、时间,LocalDate可以打印当前日期,LocalTime可以打印当前时间
 public static void getLocalDateDemo() {System.out.println(LocalDate.now());System.out.println(LocalTime.now());LocalDateTime now = LocalDateTime.now();System.out.println(now.toLocalDate()); // 转化为日期System.out.println(now.toLocalTime()); // 转化为时间System.out.println(LocalDateTime.of(2020,10,10,10,10,10));System.out.println(LocalDate.of(2020,10,10));System.out.println(LocalTime.of(10,10,10));System.out.println(LocalDateTime.parse("2020-10-10T10:10:10"));}
  • LocalDateTime还提供了一系列对日期时间增减的方法
    • plusDays 加天 、 minusDays 减天
    • plusHours 加小时、 minusHours 减小时等...
  • 可以针对年月日时间做调整
    • 调整年:withYear()
    • 调整月:withMonth()
    • 调整日:withDayOfMonth()
    • 调整时:withHour()
    • 调整分:withMinute()
    • 调整秒:withSecond()
  • 比较时间可以使用LocalDateTime提供的方法
    • isBefore() 是否在什么时间的前面
    • isAfter()
  • Duration 表示两个时刻之间的间隔 Duration.between(stratTime,endTime)
  • Period 表示两个日期之间的间隔 LocalDate.of(2020,10,10).until(LocalDate.of(2020,10,1))

DateTImeFormatter

  • DateTimeFormatter可以自定义输出格式,和自定义解析格式
 public static void getDateTimeFormatterDemo () {System.out.println((DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm:ss")).format(LocalDateTime.now()));System.out.println(LocalDateTime.parse("2020/10/10 10:10:10",DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm:ss")));}

ZonedDateTime

  • ZonedDateTime可以获取一个带时区的时间
 public static void getZonedDateTime() {System.out.println(ZonedDateTime.now()); // 获取当前时间-带时区System.out.println(ZonedDateTime.now(ZoneId.of("America/New_York"))); // 根据指定时区获取当前时间System.out.println((LocalDateTime.of(2020,10,10,10,10,10)).atZone(ZoneId.systemDefault())); //根据时区打印当前时间 System.out.println((LocalDateTime.of(2020,10,10,10,10,10)).atZone(ZoneId.of("America/New_York"))); // 根据指定时区打印当前时间ZonedDateTime zbj = ZonedDateTime.now(ZoneId.of("Asia/Shanghai"));ZonedDateTime zny = zbj.withZoneSameInstant(ZoneId.of("America/New_York")); // 时区转换}

本文作者《猿氏·凯》,如果雷同,纯属抄袭····

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/429867.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python开发之--前端 HTML基础

一:HTML介绍 HTML:超文本标记语言,标准通用标记语言下的一个应用。包括“头”部分(英语:Head)、和“主体”部分(英语:Body),其中“头”部提供关于网页的信息&…

给与用户建立dblink的权限_网络安全 之 NTFS安全权限

NTFS安全权限一、NTFS权限概述1、通过设置NTFS权限,实现不同的用户访问不同的权限2、分配了正确的访问权限后,用户才能访问其资源3、设置权限防止资源被篡改、删除二、文件系统概述 文件系统即在外部存储设备上组织文件的方法常用的文件系统:…

TCP 连接中的TIME_WAIT

原文:http://blog.csdn.net/wangpengqi/article/details/17245349 这就有个细节,一次http请求,谁会先断开TCP连接?什么情况下客户端先断,什么情况下服务端先断? 百度后,找到原因,主要…

丁丁打折网卷能用吗_微信群控还能用吗?现在什么群控还能使用吗?

微信群控系统还能用吗?为什么现在微信群控系统越来越被限制了呢?其实,微信群控我想在生活中占据着很大的位置!因为微信这么多的使用,现在微信使用人数都是几十亿了,所以很多人看重微信群控系统的市场&#…

错题整理

1.JAVA语言的下面几种数组复制方法中,哪个效率最高? A for循环逐一复制 B System.arraycopy C System.copyof D 使用clone方法 答案:B A、for循环的话,很灵活,但是代码不够简洁. for循环为什么慢,java中所…

xpath中两个冒号_爬虫学习(5)—XPath

之前我们写了一个简单的爬虫,在提取页面信息时我们使用正则表达式来匹配内容,但是正则表达式的书写比较繁琐,而且一旦错误就可能导致匹配失败。对于网页的节点来说,它可以定义id,class或其他的属性,而且节点…

Linux压缩与解压常用命令

欢迎和大家交流技术相关问题: 邮箱: jiangxinnju163.com 博客园地址: http://www.cnblogs.com/jiangxinnju GitHub地址: https://github.com/jiangxincode 知乎地址: https://www.zhihu.com/people/jiangxinnju tar的相关参数-c: 建立压缩档案-x:解压-t&…

mysql 预留一个自定义字段_MySQL 按指定字段自定义列表排序 | DevOps

问题描述大家都知道, MySQL 中按某字段升序排列的 SQL 为 (以 id 为例, 下同):SELECT * FROM MyTableWHERE id IN (1, 7, 3, 5)ORDER BY id ASC降序排列的 SQL 为:SELECT * FROM MyTableWHERE id IN (1, 7, 3, 5)ORDER BY id DESC有时以上排序并不能满足我们的需求. 例如, 我们…

canny算法的实现(android加载图片,数组写入文件换行)

Canny边缘检测首先要对图像进行高斯去噪,前面讲到了高斯去噪处理,这里从对图像灰度进行微分运算讲起吧。微分运算常用的方法是利用模板算子,把模板中心对应到图像的每一个像素位置,然后按照模板对应的公式对中心像素和它周围的像素…

python程序中想使用正则表达式_python中正则表达式的使用方法

本文主要关于python的正则表达式的符号与方法。findall: 找寻所有匹配,返回所有组合的列表search: 找寻第一个匹配并返回sub: 替换符合规律的内容,并返回替换后的内容.:匹配除了换行符以外的任意字符a xy123b re.findall(x...,a)print(b)# …

jQ实现JSON.stringify(obj)方法

jQstringify是使用jQuery实现的JSON.stringify(obj)方法代码如下&#xff1a;<script type"text/javascript" src"http://keleyi.com/keleyi/pmedia/jquery/jquery-1.10.2.min.js"></script>function jQstringify( obj ) {var arr [];$.each(…

解决问题的反馈机制_谈谈HBase中的Nonce机制

最近在读hbase源码关于rpc的一些实现细节&#xff0c;想正好趁此机会和大家分享一下我理解到的hbase关于Nonce机制的实现。Nonce机制的来源Nonce这个词由来已久&#xff0c;且在各个领域都会有相对应的名词解释。对于HBase来说&#xff0c;由于网络环境的复杂性&#xff0c;在客…

【VirtualBox】VirtualBox的桥接网络模式,为啥网络不稳定?

网桥模式访问外网非常慢&#xff0c;经常卡死&#xff0c;ping时断时续 七搞八搞&#xff0c;反复重启了几次 TMD 就好了&#xff0c;也不知道什么情况&#xff0c;VirtualBox还是不太好使啊。。。。。 网桥模式 设置 如下&#xff1a; 参考资料&#xff1a; http://blog.csdn…

白盒基本路径发测试实验报告_软件生命周期、白盒测试、黑盒测试

继上一讲&#xff1a;隅巳毕月&#xff1a;达摩克里斯之——排序与查找技术​zhuanlan.zhihu.com我们今天来讲一下软件周期与两种软件测试方法软件开发应遵循一个软件的生命周期&#xff0c;通常把软件产品从提出、实现、使用、维护到停止使用、退役的过程称为软件生命周期。软…

Windows7睡眠后自动唤醒

笔者的电脑&#xff08;Windows7 64位旗舰版&#xff09;睡眠后&#xff0c;隔段时间后会自动唤醒。经两项配置后&#xff0c;解决了该问题。 1 禁用唤醒定时器 控制面板里进入"电源选项""更改计划设置"界面&#xff0c;如下图所示 单击上图的"更改高…

bootstrap 两个轮播图冲突_为什么使用bootstrap在一个页面同时做两个轮播效果时,只有第一个有效??...

我们都知道使用bootstrap做轮播效果非常快&#xff0c;但是有时候一个页面会需要两个轮播&#xff1b;但这个时候再次使用bootstrap做轮播效果时就会失效&#xff1b;原因在于bootstrap的Carousel问题&#xff0c;只要修改一下id&#xff0c;就好了~~这是第一个轮播&#xff1a…

Ajax的用法

1 Ajax是什么 1.1 Asynchronous JavaScript and XML&#xff08;异步的javascript和xml&#xff09; 实质为&#xff1a;使用浏览器内置的一个对象&#xff08;XmlHttpRequest&#xff09;向服务器发送请求&#xff0c;服务器返回xml数据或文本数据给浏览器&#xff0c;然后在浏…

mysql降级_mysql8降级到mysql5的方法介绍

本篇文章给大家带来的内容是关于mysql8降级到mysql5的方法介绍&#xff0c;有一定的参考价值&#xff0c;有需要的朋友可以参考一下&#xff0c;希望对你有所帮助。最近在研究liferay的使用。liferay可以连接mysql数据库。电脑中装的mysql的最新版本是mysql8。于是开始按照life…

Node.js server使用

一、创建项目 #创建项目目录 cd /data mkdir webroot cd webroot#初始化git git init vim .gitignore 输入&#xff1a; node_modules/ 保存: :wq#初始化npm,生成package.json npm init#安装express npm install -D express#创建入口文件 vim app.js输入&#xff1a; var expr…

ubuntu安装jdk_mysql_Ubuntu server 安装及jdk+mysql安装教程

Ubuntu server 安装教程1.查找及下载Ubuntu镜像文件可以在以下页面下载想要的版本,我这里选择19.04 server版的iso镜像文件:http://mirrors.163.com/ubuntu-releases/19.04/2.腾出一个空U盘&#xff0c;4G左右就行&#xff0c;iso文件本身就有750M左右,制作安装盘1).使用UltraI…