电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

Java高級日期概念二

瀏覽:8日期:2024-06-21 17:12:55
內容: 出自:zdnet 時區TimeZone類,即java.util.TimeZone類的實例包含了一個與格林威治標準時間(GMT)相比較得出的以微秒為單位的時區偏移量,而且它還處理夏令時。要獲得一個所有支持的進區的列表,你可以使用方法TimeZone.getAvailableIDs,它將返回一個包含了所有進區ID的字符串數組。要知道關于TimeZone類的更多細節,可以參看Sun公司的Web站點。為了演示這個概念,我們將創建三個時區對象。第一個對象將使用getDefault從系統時鐘返回時區數據;第二個和第三個對象將傳入一個時區字符串ID。見表C中的代碼。表 C import java.util.TimeZone;import java.util.Date;import java.text.DateFormat;import java.util.Locale;public class DateExample8 {public static void main(String[] args) {// Get the system time zone.TimeZone timeZoneFL = TimeZone.getDefault();System.out.println('n' + timeZoneFL.getDisplayName());System.out.println('RawOffset: ' + timeZoneFL.getRawOffset());System.out.println('Uses daylight saving: ' + timeZoneFL.useDaylightTime());TimeZone timeZoneLondon = TimeZone.getTimeZone('Europe/London');System.out.println('n' + timeZoneLondon.getDisplayName());System.out.println('RawOffset: ' + timeZoneLondon.getRawOffset());System.out.println('Uses daylight saving: ' + timeZoneLondon.useDaylightTime());燭imeZone timeZoneParis = TimeZone.getTimeZone('Europe/Paris');System.out.println('n' + timeZoneParis.getDisplayName());System.out.println('RawOffset: ' + timeZoneParis.getRawOffset());System.out.println('Uses daylight saving: ' + timeZoneParis.useDaylightTime());}}其輸出如下:Eastern Standard TimeRawOffset: -18000000Uses daylight saving: trueGMT+00:00RawOffset: 0Uses daylight saving: trueCentral European Standard TimeRawOffset: 3600000Uses daylight saving: true正如你所看見的,TimeZone對象給我們的是原始的偏移量,也就是與GMT相差的微秒數,而且還會告訴我們這個時區是否使用夏令時。有個這個信息,我們就能夠繼續將時區對象和日期格式化器結合在一起在其它的時區和其它的語言顯示時間了。國際化的時期顯示了時區轉換讓我們來看一個結合了國際化顯示,時區和日期格式化的例子。表D為一個在邁阿密和巴黎擁有辦公室的公司顯示了當前的完整日期和時間。對于邁阿密的辦公室,我們將在每個辦公室里用英語顯示完整的日期和時間。對于巴黎的辦公室,我們將用法語顯示完整的當前日期和時間。表 D import java.util.TimeZone;import java.util.Date;import java.util.Locale;import java.text.DateFormat;public class DateExample9 {public static void main(String[] args) {Locale localeEN = Locale.US;Locale localeFrance = Locale.FRANCE;TimeZone timeZoneMiami = TimeZone.getDefault();TimeZone timeZoneParis = TimeZone.getTimeZone('Europe/Paris');DateFormat dateFormatter = DateFormat.getDateTimeInstance(DateFormat.FULL,DateFormat.FULL,localeEN);DateFormat dateFormatterParis = DateFormat.getDateTimeInstance(DateFormat.FULL,DateFormat.FULL,localeFrance);Date curDate = new Date();System.out.println('Display for Miami office.');// Print the Miami time zone display name in EnglishSystem.out.println(timeZoneMiami.getDisplayName(localeEN));// Set the time zone of the dateFormatter to Miami time zone.dateFormatter.setTimeZone(timeZoneMiami);// Print the formatted date.System.out.println(dateFormatter.format(curDate));// Set the time zone of the date formatter to Paris time zone.dateFormatter.setTimeZone(timeZoneParis);// Print the Paris time zone display name in English.System.out.println(timeZoneParis.getDisplayName(localeEN));// Print the Paris time in english.System.out.println(dateFormatter.format(curDate));System.out.println('nDisplay for Paris office.');// Print the Miami time zone display name in FrenchSystem.out.println(timeZoneMiami.getDisplayName(localeFrance));// Set the timezone of the// dateFormatterParis to Miami time zone.dateFormatterParis.setTimeZone(timeZoneMiami);// Print the formatted date in French.燬ystem.out.println(dateFormatterParis.format(curDate));// Set the timezone of the date formatter to Paris time zone.dateFormatterParis.setTimeZone(timeZoneParis);// Print the Paris time zone display name in French.System.out.println(timeZoneParis.getDisplayName(localeFrance));// Print the Paris time in French.System.out.println(dateFormatterParis.format(curDate));}}這個例子的輸出是:Display for Miami office. Eastern Standard TimeFriday, October 5, 2001 10:28:02 PM EDTCentral European Standard TimeSaturday, October 6, 2001 4:28:02 AM CESTDisplay for Paris office. GMT-05:00vendredi 5 octobre 2001 22 h 28 GMT-04:00GMT+01:00samedi 6 octobre 2001 04 h 28 GMT+02:00 在一個SQL數據庫中保存和提取日期數據我們將要使用的下一個類是java.sql.Date,它是java.util.Date的子類但它使用了Java數據庫連接(JDBC)方法 。讓我們來看一個簡單的只有一個表單--LAST_ACCESS的ORACLE數據庫,它是用下面的SQL創建的:create table LAST_ACCESS (LAST_HIT date);這個表單只有一個記錄,用下面的插入語句創建:insert into LAST_ACCESS values (Sysdate);表E演示了如何修改和提取LAST_HIT數據庫域。表 E import java.sql.*;import java.text.DateFormat;import java.util.Date;public class DateExample10 {public static void main(String[] args) {// Get a full date formatter.DateFormat dateFormatter = DateFormat.getDateTimeInstance(DateFormat.FULL,DateFormat.FULL);// Get the system date and time.java.util.Date utilDate = new Date();// Convert it to java.sql.Datejava.sql.Date date = new java.sql.Date(utilDate.getTime());// Display the date before storing.System.out.println(dateFormatter.format(date));// Save the date to the database.setLastHit(date);// Get the date from the database.Date dateFromDB = getLastHit();// Display the date from the database.System.out.println(dateFormatter.format(dateFromDB));}public static void setLastHit(java.sql.Date date) {try {// Load the class.Class.forName('oracle.jdbc.driver.OracleDriver');// Get a connection.燙onnection connection = DriverManager.getConnection(// Database URL'jdbc:oracle:thin:@localhost:1521:buzz2','web_site', // Username'web_site'); // Passwordtry {/ Get a prepared statement fromthe connection// specifying the update SQL.PreparedStatement ps = connection.prepareStatement('update LAST_ACCESS set LAST_HIT=');try {/ set the date letting JDBC to the work of// formatting the SQL appropriately.ps.setDate(1, date);// Execute the update statement.int iRowsUpdated = ps.executeUpdate();System.out.println('Rows updated: ' + iRowsUpdated);} finally {ps.close();}} finally {connection.close();}} catch (Exception ex) {System.out.println('Error: ' + ex.getMessage());}}public static java.sql.Date getLastHit() {java.sql.Date returnDate = null;try {// Load the driver class.Class.forName('oracle.jdbc.driver.OracleDriver');// Get the connection.Connection connection = DriverManager.getConnection('jdbc:oracle:thin:@localhost:1521:buzz2','web_site', 'web_site');try {/ Get the prepared statement specifying the// select SQL.PreparedStatement ps = connection.prepareStatement('select LAST_HIT from LAST_ACCESS');try {// Execute the SQL and get the ResultSet object.ResultSet rs = ps.executeQuery();try {// Retreive the record.if (rs else {燬ystem.out.println('Did not get last hit.');}}finally {rs.close();}} finally {ps.close();爙} finally {connection.close();}} catch (Exception ex) {System.out.println('Error: ' + ex.getMessage());}return returnDate;}}這個例子的輸出如下:Friday, October 5, 2001 10:42:34 PM EDTRows updated: 1Successfully retrieved last hit.Friday, October 5, 2001 12:00:00 AM EDT雖然這個例子沒有為保存和提取日期數據提供性能上優良的方法,但它確實示范了如何為一條更新和刪除語句將Java日期數據轉換成SQL日期數據。從一個java.util.Date對象設置Oracle date數據域的過程是由以下的語句處理的:ps.setDate(1, date);它是我們預定義語句接口java.sql.PreparedStatement.setDate 的一個方法。這行代碼出現在我們的setLastHit方法里。它將Java以微秒為單位的長整型日期值轉換成ORACLE的SQL日期格式。當我們能夠在getLastHit方法里用java.sql.PreparedStatement.getDate從數據庫取得日期數據的時候這種轉換就能夠完成。你還應該注意到只有日期被設置了。小時,分鐘,秒,和微秒都沒有包括在從Java日期數據到SQL日期數據的轉換過程中。結論一旦你掌握了這些概念,你就應該能夠基于系統時間或者一個輸入的時間創建日期對象了。另外,你還應該能夠使用標準和定制的格式化過程格式化日期數據,將文本的日期數據解析成日期對象,并以多種語言和多種時區顯示一個日期數據。最后,你將能夠在一個SQL數據庫里保存和提取日期值 Java, java, J2SE, j2se, J2EE, j2ee, J2ME, j2me, ejb, ejb3, JBOSS, jboss, spring, hibernate, jdo, struts, webwork, ajax, AJAX, mysql, MySQL, Oracle, Weblogic, Websphere, scjp, scjd
標簽: Java
相關文章:
主站蜘蛛池模板: 上海平衡机-单面卧式动平衡机-万向节动平衡机-圈带动平衡机厂家-上海申岢动平衡机制造有限公司 | 防水套管|柔性防水套管|伸缩器|伸缩接头|传力接头-河南伟创管道 防水套管_柔性防水套管_刚性防水套管-巩义市润达管道设备制造有限公司 | 潍坊大集网-潍坊信息港-潍坊信息网 | 合肥仿石砖_合肥pc砖厂家_合肥PC仿石砖_安徽旭坤建材有限公司 | 骨龄仪_骨龄检测仪_儿童骨龄测试仪_品牌生产厂家【品源医疗】 | 精雕机-火花机-精雕机 cnc-高速精雕机-电火花机-广东鼎拓机械科技有限公司 | 中山市派格家具有限公司【官网】| 茶叶百科网-茶叶知识与茶文化探讨分享平台 | 电气控制系统集成商-PLC控制柜变频控制柜-非标自动化定制-电气控制柜成套-NIDEC CT变频器-威肯自动化控制 | 直线模组_滚珠丝杆滑台_模组滑台厂家_万里疆科技 | 飞行者联盟-飞机模拟机_无人机_低空经济_航空技术交流平台 | 超声骨密度仪,双能X射线骨密度仪【起草单位】,骨密度检测仪厂家 - 品源医疗(江苏)有限公司 | 广西绿桂涂料--承接隔热涂料、隔音涂料、真石漆、多彩仿石漆等涂料工程双包施工 | 北京征地律师,征地拆迁律师,专业拆迁律师,北京拆迁律师,征地纠纷律师,征地诉讼律师,征地拆迁补偿,拆迁律师 - 北京凯诺律师事务所 | 无锡市珂妮日用化妆品有限公司|珂妮日化官网|洗手液厂家 | 上海璟文空运首页_一级航空货运代理公司_机场快递当日达 | 今日扫码_溯源二维码_产品防伪一物一码_红包墙营销方案 | 罐体电伴热工程-消防管道电伴热带厂家-山东沃安电气 | 气弹簧定制-气动杆-可控气弹簧-不锈钢阻尼器-工业气弹簧-可调节气弹簧厂家-常州巨腾气弹簧供应商 | 字典-新华字典-在线字典查字-字典趣 | 地图标注-手机导航电子地图如何标注-房地产商场地图标记【DiTuBiaoZhu.net】 | 螺钉式热电偶_便携式温度传感器_压簧式热电偶|无锡联泰仪表有限公司|首页 | 网站优化公司_北京网站优化_抖音短视频代运营_抖音关键词seo优化排名-通则达网络 | 英国公司注册-新加坡公司注册-香港公司开户-离岸公司账户-杭州商标注册-杭州优创企业 | 苏州伊诺尔拆除公司_专业酒店厂房拆除_商场学校拆除_办公楼房屋拆除_家工装拆除拆旧 | 郑州宣传片拍摄-TVC广告片拍摄-微电影短视频制作-河南优柿文化传媒有限公司 | 砍排机-锯骨机-冻肉切丁机-熟肉切片机-预制菜生产线一站式服务厂商 - 广州市祥九瑞盈机械设备有限公司 | 山东PE给水管厂家,山东双壁波纹管,山东钢带增强波纹管,山东PE穿线管,山东PE农田灌溉管,山东MPP电力保护套管-山东德诺塑业有限公司 | 大型工业风扇_工业大风扇_大吊扇_厂房车间降温-合昌大风扇 | 新疆十佳旅行社_新疆旅游报价_新疆自驾跟团游-新疆中西部国际旅行社 | 酸度计_PH计_特斯拉计-西安云仪| 翅片管换热器「型号全」_厂家-淄博鑫科环保 | 丹佛斯变频器-丹佛斯压力开关-变送器-广州市风华机电设备有限公司 | 杭州代理记账多少钱-注册公司代办-公司注销流程及费用-杭州福道财务管理咨询有限公司 | 煤棒机_增碳剂颗粒机_活性炭颗粒机_木炭粉成型机-巩义市老城振华机械厂 | 土壤养分检测仪|土壤水分|土壤紧实度测定仪|土壤墒情监测系统-土壤仪器网 | 隐形纱窗|防护纱窗|金刚网防盗纱窗|韦柏纱窗|上海青木装潢制品有限公司|纱窗国标起草单位 | 空压机网_《压缩机》杂志 | 电线电缆厂家|沈阳电缆厂|电线厂|沈阳英联塑力线缆有限公司 | 深圳美安可自动化设备有限公司,喷码机,定制喷码机,二维码喷码机,深圳喷码机,纸箱喷码机,东莞喷码机 UV喷码机,日期喷码机,鸡蛋喷码机,管芯喷码机,管内壁喷码机,喷码机厂家 | 北京森语科技有限公司-模型制作专家-展览展示-沙盘模型设计制作-多媒体模型软硬件开发-三维地理信息交互沙盘 |