`
xiaolan02
  • 浏览: 59875 次
社区版块
存档分类
最新评论

http://dev.firnow.com/course/3_program/java/javashl/200726/11199.html

阅读更多

滴答、滴答时间在流逝--现在是何时?(二)
http://www.ibm.com/developerworks/cn/java/l-datetime/part2/index.html


http://joda-time.sourceforge.net/index.html
Joda Time - Java date and time API

Joda Time - Java date and time API







Java高级日期概念 (献给那些要国际化时间及SQL时间的兄弟

http://dev.firnow.com/course/3_program/java/javashl/200726/11199.html
      Java高级日期概念 


高级Java日期概念(致力于国际化的时间和时间的SQL兄弟的人)

打印查看方式: iSee共有次:3字数:2914日期:Wed,09年4月22日时间:上午5点19分

 



高级的Java日期概念




http://translate.google.com.hk/translate?hl=zh-CN&langpair=en|zh-CN&u=http://tutorialsto.com/index.php/jsp/java/senior-java-date-concepts-those-dedicated-to-the-internationalization-of-the-time-and-the-time-sql-brother.html

如果您的Java程序的用户在不同的时区不同国家的日期或时间,那么你需要了解Java Date类的一些方面更先进




本文讨论一类将包括java.text.DateFormat,以及java.util.TimeZone和java.util.Locate。 我们还将讨论如何使用java.util.Date的子类向java.sql.Date提取从甲骨文 数据库的Java日期和数据保存。
<br>数据区域在我们的国际日期变更,我们需要进一步研究和区域设置类别,即java.util.Locale。 区域设置通常包含一类国家和语言信息的一个例子。 其中每个部分是根据国际标准化组织(ISO)制定的ISO - 3166国家代码和语言代码的ISO - 639 2个字符的字符串组成的。
让我们创建两个区域设置的例子,其中一个对应于英国,美国,另一个是法国和法国同行。 见表答

表A



进口java.util.Locale;

公共类DateExample6(

公共静态无效的主要(字串[] args)(
/ /创建一个区域设置为美国英语。
新的区域设置区域设置localeEN =(“恩”,“美国”);

System.out.println(“显示名:”+
localeEN.getDisplayName());
System.out.println(“国:”+ localeEN.getCountry());
System.out.println(“语言:”+ localeEN.getLanguage());

/ /创建一个区域设置为法国法语。
新的区域设置区域设置localeFR =(“神父”,“文”);
System.out.println(“\ nDisplay名:”+
localeFR.getDisplayName());
System.out.println(“国:”+ localeFR.getCountry());
System.out.println(“语言:”+ localeFR.getLanguage());

/ / 显示区域设置在法国的美国英语
System.out.println(“\嫩江法语显示名称:”+
localeEN.getDisplayName(localeFR));



在这个例子中,我们使用GetDisplayName方法来显示一个更清晰的文本区域设置。 您还应当指出的是我们最后一次通话getDisplayName,我们在英文Locale对象getDisplayName在同一时候,法国Locale对象通过调用。 这使我们可以选择显示Locale对象的语言,让我们表现出在英语法语区域设置该对象的内容。 以下是这个例子的输出:
显示名称:英语(美国)
国家:美国
语言:EN
显示名称:法语(法国)
国家:阻燃
语言:神父
恩显示法语名称:英吉利(各国以及-新闻处)
日期格式的 java.util.Locale 数目地理 <br>使用java.text.DateFormat类型,我们将能够日期格式的数据显示它在另一个法国地区,如给用户。 例如表中B英文和法文为创造一个完整的日期格式化。

表B



进口java.util.Locale;
进口是java.util.Date;
进口java.text.DateFormat;

公共类DateExample7(

公共静态无效的主要(字串[] args)(
/ /获取当前系统日期和时间。
日期日期=新的日期();

/ /获取一个法国的区域设置区域设置使用一个常数。
现场localeFR = Locale.FRANCE;

/ /创建一个英文/美国区域设置使用构造。
新的区域设置区域设置localeEN =(“恩”,“美国”);

/ /获取一个在法国展出日期时间格式化程序。
DateFormat fullDateFormatFR =
DateFormat.getDateTimeInstance(
DateFormat.FULL,
DateFormat.FULL,
localeFR);

/ /获取一个在美国显示日期时间格式化
DateFormat fullDateFormatEN =
DateFormat.getDateTimeInstance(
DateFormat.FULL,
DateFormat.FULL,
localeEN);

System.out.println(“区域设置:”+ localeFR.getDisplayName());
System.out.println(fullDateFormatFR.format(日期));
System.out.println(“区域设置:”+ localeEN.getDisplayName());
System.out.println(fullDateFormatEN.format(日期));



这个例子的输出是:
区域设置:法语(法国)
2001年10月在vendredi 5月21 Ĥ 05格林尼治标准时间04:00
区域设置:英语(美国)
星期五,2001年10月5日美国东部时间下午9时05分54秒
重视信息输出,包括时区:格林尼治标准时间04:00和下午美国东部时间。 时区是一个系统那里的渔获物的时区设置。 你可以看到,在该地区的用户日期是根据所需的显示格式。 让我们拭目以待,看看时间区的概念。

时区
的TimeZone类,即类java.util.TimeZone包含一个例子格林威治标准时间(GMT)的所得相比,时间偏移区微秒,而且处理夏令时



。 为了让所有的一区列表支持,可以使用TimeZone.getAvailableIDs,它会返回到一个区域中包含的字符串数组中的所有的ID。 TimeZone的类需要知道更多细节,请参考Sun公司的网站。
为了证明这个概念,我们将创建三个目标时区。 第一个目标将用于从系统时钟回getDefault的时区数据,第二个和第三个对象成为一个时区字符串ID。 见表ç在代码中。

表的C + +



进口java.util.TimeZone;
进口是java.util.Date;
进口java.text.DateFormat;
进口java.util.Locale;

公共类DateExample8(

公共静态无效的主要(字串[] args)(
/ /获取系统的时区。
TimeZone的timeZoneFL = TimeZone.getDefault();
System.out.println(“\ ñ”+ timeZoneFL.getDisplayName());
System.out.println(“RawOffset:”+ timeZoneFL.getRawOffset());
System.out.println(“使用夏时制:”+ timeZoneFL.useDaylightTime());

TimeZone的timeZoneLondon = TimeZone.getTimeZone(“欧洲/伦敦”);
System.out.println(“\ ñ”+ timeZoneLondon.getDisplayName());
System.out.println(“RawOffset:”+ timeZoneLondon.getRawOffset());
System.out.println(“使用夏时制:”+ timeZoneLondon.useDaylightTime());

蜡烛imeZone timeZoneParis = TimeZone.getTimeZone(“欧洲/巴黎”);
System.out.println(“\ ñ”+ timeZoneParis.getDisplayName());
System.out.println(“RawOffset:”+ timeZoneParis.getRawOffset());
System.out.println(“使用夏时制:”+ timeZoneParis.useDaylightTime());



输出如下:
东部标准时间
RawOffset:-18000000
利用日光节能:真
格林尼治标准时间+00:00
RawOffset:0
利用日光节能:真

中欧标准时间
RawOffset:3600000
利用日光节能:真
正如你看到的,我们的TimeZone对象,原来的偏移,是与之间的微秒数GMT的时差,而且还告诉我们,是否使用夏令时的时区。 有此信息,我们将能够继续与在其他时间,语言和其他共同的目标区时区和日期格式。
国际间的时区显示的转换 <br>让我们看一个节目结合国际,时区和日期格式的例子。 表在迈阿密和公司巴黎办事处的一个D,显示了当前日期和时间的完整性。 对于迈阿密办公室,我们将在每个办公室英语显示完整的日期和时间。 在巴黎的办公室,我们将显示,法国当前的日期和时间的完整性。

表D



进口java.util.TimeZone;
进口是java.util.Date;
进口java.util.Locale;
进口java.text.DateFormat;

公共类DateExample9(

公共静态无效的主要(字串[] args)(
现场localeEN = Locale.US;
现场localeFrance = Locale.FRANCE;

TimeZone的timeZoneMiami = TimeZone.getDefault();
TimeZone的timeZoneParis = TimeZone.getTimeZone(“欧洲/巴黎”);

DateFormat dateFormatter = DateFormat.getDateTimeInstance(
DateFormat.FULL,
DateFormat.FULL,
localeEN);
DateFormat dateFormatterParis = DateFormat.getDateTimeInstance(
DateFormat.FULL,
DateFormat.FULL,
localeFrance);

日期curDate =新的日期();

System.out.println(“为迈阿密办事处展示。”);
/ /打印迈阿密时区显示名称中英文
System.out.println(timeZoneMiami.getDisplayName(localeEN));
/ /设置时区的dateFormatter到迈阿密时区。
dateFormatter.setTimeZone(timeZoneMiami);
/ /打印格式的日期。
System.out.println(dateFormatter.format(curDate));

/ /设置时区的日期格式化到巴黎的时区。
dateFormatter.setTimeZone(timeZoneParis);
/ /打印巴黎时区英文显示的名称。
System.out.println(timeZoneParis.getDisplayName(localeEN));
/ /打印中英文巴黎时间。
System.out.println(dateFormatter.format(curDate));

System.out.println(“巴黎的办公室\ nDisplay。”);
/ /打印迈阿密时区显示名称法语
System.out.println(timeZoneMiami.getDisplayName(localeFrance));
/ /设置时区的
/ / DateFormatterParis到迈阿密时区。
dateFormatterParis.setTimeZone(timeZoneMiami);
/ /打印在法国格式化日期。
销毁ystem.out.println(dateFormatterParis.format(curDate));

/ /设置时区的日期格式化到巴黎的时区。
dateFormatterParis.setTimeZone(timeZoneParis);
/ /打印在法国巴黎的时区显示名称。
System.out.println(timeZoneParis.getDisplayName(localeFrance));
/ /打印在法国巴黎时间。
System.out.println(dateFormatterParis.format(curDate));



这个例子的输出是:
显示迈阿密办事处。
东部标准时间
星期五,2001年10月5日美国东部时间下午10时28分02秒
中欧标准时间
星期六,2001年10月6日上午04时28分02秒欧夏令时
显示巴黎办事处。
格林尼- 05:00
2001年10月在vendredi 5 22小时28日格林尼治标准时间04:00
格林尼治标准时间+01:00
2001年10月在萨梅迪6 04 Ĥ 28 +02:00



在SQL 数据库中的数据保存日期和提取 <br>我们将使用下一个类是java.sql.Date,这是一个java.util.Date的子类的,但它使用了Java 数据库连接(JDBC)方法



。 让我们看一个简单的表格上只有一个 - LAST_ACCESS Oracle数据库,则创建以下SQL:
创建表LAST_ACCESS(
LAST_HIT日期
);
只有一个记录本表格,并插入下面的语句来创建:
插入LAST_ACCESS值(Sysdate);
表E演示了如何修改和提取域LAST_HIT数据库。

表E



进口java.sql .*;
进口java.text.DateFormat;
进口是java.util.Date;

公共类DateExample10(

公共静态无效的主要(字串[] args)(
/ /获得一个完整的日期格式化。
DateFormat dateFormatter = DateFormat.getDateTimeInstance(
DateFormat.FULL,
DateFormat.FULL);
/ /获取系统日期和时间。
java.util.Date的utilDate =新的日期();
/ /转换为java.sql.Date
java.sql.Date日期=新java.sql.Date(utilDate.getTime());
/ /显示的日期之前存储。
System.out.println(dateFormatter.format(日期));
/ /保存日期到数据库。
setLastHit(日期);
/ /从数据库中获取的日期。
日期dateFromDB = getLastHit();
/ /显示从数据库中的日期。
System.out.println(dateFormatter.format(dateFromDB));


公共静态无效setLastHit(java.sql.Date日期)(

尝试(
/ /加载类。
调用Class.forName(“oracle.jdbc.driver.OracleDriver”);
/ /获取一个连接。
热onnection连接= DriverManager.getConnection(
/ /数据库URL
“的jdbc:神谕:薄:@本地主机:1521:buzz2”
“web_site”,/ /用户名
“web_site”); / /密码
尝试(
/获取一份声明中其外连接
/ /指定更新的SQL。
PreparedStatement的皮秒= connection.prepareStatement(
“更新LAST_ACCESS设置LAST_HIT =”);
尝试(
/设置日期让JDBC技术的工作
/ /格式化的SQL适当。
ps.setDate(1,日期);
/ /执行的更新语句。
诠释iRowsUpdated = ps.executeUpdate();
System.out.println(“行更新时间:”+ iRowsUpdated);
)最后(
ps.close();

)最后(
connection.close();

)捕捉(异常前)(
System.out.println(“错误:”+ ex.getMessage());



公共静态java.sql.Date getLastHit()(
java.sql.Date returnDate =无效;

尝试(
/ /加载驱动程序类。
调用Class.forName(“oracle.jdbc.driver.OracleDriver”);
/ /获取连接。
连接连接= DriverManager.getConnection(
“的jdbc:神谕:薄:@本地主机:1521:buzz2”
“web_site”,“web_site”);
尝试(
/获取指定的准备好的语句
/ /选择SQL。
PreparedStatement的皮秒= connection.prepareStatement(
“选择LAST_HIT从LAST_ACCESS”);
尝试(
/ /执行SQL和获得的ResultSet对象。
ResultSet的遥感= ps.executeQuery();
尝试(
/ / Retreive纪录。
如果(rs.next())(
/ /返回日期的最后打击。
returnDate = rs.getDate(“LAST_HIT”);
System.out.println(
“成功检索上次发生。”);
)其他(
销毁ystem.out.println(“未获得最后的冲击。”);


最后(
,2();


)最后(
ps.close();

)最后(
connection.close();

)捕捉(异常前)(
System.out.println(“错误:”+ ex.getMessage());

返回returnDate;




这个例子的输出如下:
星期五,2001年10月5日美国东部时间下午10时42分34秒
行更新:1
成功地检索到最后的冲击。
星期五,2001年10月5日美国东部时间上午12时00分00秒
虽然这个例子是没有的性能数据保存和提取日期提供了一个极好的方法,但它确实表明了如何更新和删除一个Java的SQL语句的日期数据到数据的日期。 java.util.Date的数据从Oracle日期字段对象是用下面的语句处理过程:
ps.setDate(1,日期);
这是一个方法java.sql.PreparedStatement.setDate接口预先确定的发言。
行代码,在我们在setLastHit方式出现。 这将是Java到微秒长整型日期值到SQL ORACLE的日期格式。 当我们可以使用从数据库java.sql.PreparedStatement.getDate数据getLastHit方法获得的时间来完成这种转换的日期。
您还应该指出的是,迄今已成立只。 小时,分钟,秒和微秒不包括在从Java日期数据到SQL日期数据转换过程。
结论 <br>在你掌握了这些概念,你应该能够基于时间的系统或一时间进入该对象的创建日期。 此外,你应该能够使用标准和定制的数据格式化过程格式化日期,文本数据到一个日期对象分析和多语种,多的时区数据的日期显示的日期。 最后,您将可以节省一个SQL数据库和提取日期值。
分享到:
评论

相关推荐

    python入门-30.寻找列表中只出现一次的数字-寻找单身狗.py

    python入门-30.寻找列表中只出现一次的数字——寻找单身狗.py

    布尔教育linux优化笔记

    linux优化笔记,配套视频:https://www.bilibili.com/list/474327672?sid=4496133&spm_id_from=333.999.0.0&desc=1

    知识付费系统-直播+讲师入驻+课程售卖+商城系统-v2.1.9版本搭建以及资源分享下载

    知识付费系统-直播+讲师入驻+课程售卖+商城系统-v2.1.9版本搭建以及资源分享下载,CRMEB知识付费分销与直播营销系统是由西安众邦科技自主开发的一款在线教育平台,该系统不仅拥有独立的知识产权,还采用了先进的ThinkPhp5.0框架和Vue前端技术栈,集成了在线直播教学及课程分销等多种功能,旨在为用户提供全方位的学习体验,默认解压密码youyacaocom

    美妆神域-JAVA-基于springBoot美妆神域设计与实现

    美妆神域-JAVA-基于springBoot美妆神域设计与实现

    原生js制作Google粘土logo动画涂鸦代码.zip

    原生js制作Google粘土logo动画涂鸦代码.zip

    golin 扫描工具使用, 检查系统漏洞、web程序漏洞

    golin 扫描工具使用, 检查系统漏洞、web程序漏洞

    原生态纯js图片网格鼠标悬停放大显示特效代码下载.zip

    原生态纯js图片网格鼠标悬停放大显示特效代码下载.zip

    用AWLUM进行灰色编码2^2n-QAM调制的精确率Matlab代码.rar

    1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。 替换数据可以直接使用,注释清楚,适合新手

    去水印web端独立版web

    去水印web端独立版web

    原生js制作左侧浮动可折叠在线客服代码.zip

    原生js制作左侧浮动可折叠在线客服代码.zip

    Chrome 谷歌浏览器下载

    Chrome 谷歌浏览器下载

    亲测全新完整版H5商城系统源码 附教程

    全新完整版H5商城系统源码 自己花钱买的,亲测可用,需要自行下载 H5商城系统设置是实现商城基本功能的核心部分,涵盖了从网站配置、短信和支付配置,到商品、工单、订单、分站和提现管理等多个模块的设置。以下是详细的设置指南,帮助您快速上手并高效管理商城系统。 测试环境:Nginx+PHP7.0+MySQL5.6 1. 网站配置 设置商城名称、LOGO、标题、联系方式和SEO关键词等,确保商城专业和易于搜索。 2. 短信配置 配置短信接口和模板,用于发送订单通知、验证码等,提升用户体验。 3. 支付接口配置 配置微信、支付宝等支付接口,填写API密钥和回调地址,确保支付流畅。 4. 商品分类管理 对商品进行分类和排序,设置分类名称和图标,便于用户查找商品。 5. 商品管理 添加和管理商品信息、规格、图片等,确保商品信息准确丰富。 6. 工单管理 查看和回复用户工单,记录售后问题,提升用户服务质量。 7. 订单管理 查看订单详情,更新订单状态,支持批量导出,方便订单跟踪。 8. 分站管理 创建不同区域分站,设置权限,统一管理各区域市场。 9. 提现管理

    短信3.141592672893982398674234

    apk安装包

    原生js选项卡插件自定义图片滑动选项卡切换.zip

    原生js选项卡插件自定义图片滑动选项卡切换.zip

    1-宗教信息佛教佛寺寺庙庵堂相关数据-社科数据.zip

    宗教信息佛教佛寺寺庙庵堂相关数据集提供了全国各个地区省市县各个佛教寺庙的详细信息。这些数据不仅包括寺庙的名称和负责人姓名,还涵盖了所属省份、地级市、区县、具体地址、建立日期以及支派类别等关键信息。该数据集整理了超过3万条样本,为研究中国佛教寺庙的分布、历史和文化提供了丰富的第一手资料。这些信息有助于了解佛教在中国的传播和发展,以及寺庙在社会和文化中的作用。数据的整理和提供,对于宗教学、社会学、历史学和文化研究等领域的学者来说,是一个宝贵的资源。

    线性电阻网络的等效电阻计算Matlab代码.rar

    1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。 替换数据可以直接使用,注释清楚,适合新手

    简单的 Python 版本管理.zip

    简单的 Python 版本管理pyenvpyenv 可让您轻松在多个 Python 版本之间切换。它简单、不引人注目,并遵循 UNIX 传统,即使用单一用途的工具来做好一件事。该项目由rbenv和 ruby​​-build分叉而来,并针对 Python 进行了修改。pyenv 的作用是什么......允许您根据每个用户更改全局 Python 版本。为每个项目的 Python 版本提供支持。允许您使用环境变量覆盖 Python 版本。一次搜索多个 Python 版本的命令。这可能有助于使用tox跨 Python 版本进行测试。与 pythonbrew 和 pythonz 相比,pyenv没有……依赖于Python本身。pyenv由纯shell脚本制作。不存在Python的引导问题。需要加载到你的 shell 中。相反,pyenv 的 shim 方法通过向你的 中添加目录来工作PATH。管理虚拟环境。当然,你可以自己创建虚拟环境 ,或者使用pyenv-virtualenv 来自动化该过程。目录安装获取 PyenvLinux/UNIX自动安装程序基本

    Notepad-v2.20工具,是替代Notepad++的首选工具

    Notepad-v2.20工具,是替代Notepad++的首选工具

    原生js随机图片拖拽排序代码.zip

    原生js随机图片拖拽排序代码.zip

Global site tag (gtag.js) - Google Analytics