科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道如何使用Java中的Date和Calendar类

如何使用Java中的Date和Calendar类

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

如何使用Java中的Date和Calendar类

作者:blackpupil 来源:赛迪网技术社区 2007年10月31日

关键字: Calendar Date java

  • 评论
  • 分享微博
  • 分享邮件
Java 语言的Calendar(日历),Date(日期), 和DateFormat(日期格式)组成了Java标准的一个基本但是非常重要的部分. 日期是商业逻辑计算一个关键的部分. 所有的开发者都应该能够计算未来的日期, 定制日期的显示格式, 并将文本数据解析成日期对象. 我们写了两篇文章, 这是第一篇, 我们将大概的学习日期, 日期格式, 日期的解析和日期的计算. >T0[j&(fI  
 8I5n`A  
  我们将讨论下面的类: M7.Yu  
i~BT}|\]B  
  具体类(和抽象类相对)java.util.Date Qd*[o0 @U  
NZs Kx  
  抽象类java.text.DateFormat 和它的一个具体子类,java.text.SimpleDateFormat ^y+s 61  
1 p%(^X^  
  抽象类java.util.Calendar 和它的一个具体子类,java.util.GregorianCalendar f )&F0<  
n!y*frbB  
  具体类可以被实例化, 但是抽象类却不能. 你首先必须实现抽象类的一个具体子类.  {U  
u8xvEN  
  Date 类从Java 开发包(JDK) 1.0 就开始进化, 当时它只包含了几个取得或者设置一个日期数据的各个部分的方法, 比如说月, 日, 和年. 这些方法现在遭到了批评并且已经被转移到了Calendar类里去了, 我们将在本文中进一步讨论它. 这种改进旨在更好的处理日期数据的国际化格式. 就象在JDK 1.1中一样, Date 类实际上只是一个包裹类, 它包含的是一个长整型数据, 表示的是从GMT(格林尼治标准时间)1970年, 1 月 1日00:00:00这一刻之前或者是之后经历的毫秒数. I#FVZB=Qz  
* \"*g  
  创建一个日期对象 F?v.=E^m  
kKlPqC \q  
  让我们看一个使用系统的当前日期和时间创建一个日期对象并返回一个长整数的简单例子. 这个时间通常被称为Java 虚拟机(JVM)主机环境的系统时间. is ]Cr6@I  
T&>Qo&%"_  
以下是引用片段: zvMdK70q  
  import java.util.Date; Ax<e_"6  
  public class DateExample1 { TvOH8m'  
  public static void main(String[] args) { f>.2iy[V7  
  // Get the system date/time o^]s5i"^  
  Date date = new Date(); Yr4DcA8  
  System.out.println(date.getTime()); ,% -JeR"  
  } B CtA9' }  
  } g{MW\wn  
lELlM\a@  
l ;7O (^<  
  在星期六, 2001年9月29日, 下午大约是6:50的样子, 上面的例子在系统输出设备上显示的结果是 1001803809710. 在这个例子中,值得注意的是我们使用了Date 构造函数创建一个日期对象, 这个构造函数没有接受任何参数. 而这个构造函数在内部使用了System.currentTimeMillis() 方法来从系统获取日期. 'LpF %m  
{iJC  
  那么, 现在我们已经知道了如何获取从1970年1月1日开始经历的毫秒数了. 我们如何才能以一种用户明白的格式来显示这个日期呢? 在这里类java.text.SimpleDateFormat 和它的抽象基类 java.text.DateFormat 就派得上用场了. R6wXni*  
S2||5l1  
  日期数据的定制格式 nX%PH:A db  
{ ~@BCeW  
  假如我们希望定制日期数据的格式, 比方星期六-9月-29日-2001年. 下面的例子展示了如何完成这个工作: x)LKnm`V  
JKAp[XO   
以下是引用片段: J~zkP7<Pc  
  import java.text.SimpleDateFormat; MEv"ty4Z  
  import java.util.Date; `c/ kU  
  public class DateExample2 { PXWDxG/t  
  public static void main(String[] args) { ^E"<{+z  
  SimpleDateFormat bartDateFormat = %lf1/N1  
  new SimpleDateFormat("EEEE-MMMM-dd-yyyy"); ]`uu~wV  
  Date date = new Date(); N)Y]cD`1I  
  System.out.println(bartDateFormat.format(date)); (n*-!9 *{  
  } &]Z~/Oa  
  } pkYXl acI  
t \Wgi  
*UkW$2?nhG  
  只要通过向SimpleDateFormat 的构造函数传递格式字符串"EEE-MMMM-dd-yyyy", 我们就能够指明自己想要的格式. 你应该可以看见, 格式字符串中的ASCII 字符告诉格式化函数下面显示日期数据的哪一个部分. EEEE是星期, MMMM是月, dd是日, yyyy是年. 字符的个数决定了日期是如何格式化的.传递"EE-MM-dd-yy"会显示 Sat-09-29-01. 请察看Sun 公司的Web 站点获取日期格式化选项的完整的指示. |o\_c5Sh  
"{VhP8  
将文本数据解析成日期对象 #-kIK!+  
C{B[mv7|  
  假设我们有一个文本字符串包含了一个格式化了的日期对象, 而我们希望解析这个字符串并从文本日期数据创建一个日期对象. 我们将再次以格式化字符串"MM-dd-yyyy" 调用SimpleDateFormat类, 但是这一次, 我们使用格式化解析而不是生成一个文本日期数据. 我们的例子, 显示在下面, 将解析文本字符串"9-29-2001"并创建一个值为001736000000 的日期对象. BI*v{b$*  
~7W~^=JA  
  例子程序: w_>S C'(  
(I\o[F  
以下是引用片段: |^>3,{}  
  import java.text.SimpleDateFormat; oPB_=E  
  import java.util.Date; 0*c0+ []1  
  public class DateExample3 { "I'IDWL ?  
  public static void main(String[] args) { e4bW`;  
  // Create a date formatter that can parse dates of _*CXB!Q  
  // the form MM-dd-yyyy.  Ssd_jz#  
  SimpleDateFormat bartDateFormat = C.we-o8\Y  
  new SimpleDateFormat("MM-dd-yyyy"); uzw*)LYz  
  // Create a string containing a text date to be parsed. |CQ9E >  
  String dateStringToParse = "9-29-2001"; :2k*5ojk  
  try { Y.8$A)  
  // Parse the text version of the date. -ude22R  
  // We have to perform the parse method in a p7uF @i}  
  // try-catch construct in case dateStringToParse D.D<\s`V|  
  // does not contain a date in the format we are expecting. m#g/W*$_DN  
  Date date = bartDateFormat.parse(dateStringToParse); p`xJo5 f3  
  // Now send the parsed date as a long value uMo [x_  
  // to the system output. aNWGJ x  
  System.out.println(date.getTime()); dua~Om3C  
  } 0WKh.~  
  catch (Exception ex) { :}6e60W  
  System.out.println(ex.getMessage()); `+%q!uK  
  } 6w:]K"+xTx  
  } vm$:HaXa  
  } ~A9%uK:   
e4YZ3Gs  
A+$G3K/_  
  使用标准的日期格式化过程 JnyZLjeh  
Q_5Yg&`6  
  既然我们已经可以生成和解析定制的日期格式了, 让我们来看一看如何使用内建的格式化过程. 方法 DateFormat.getDateTimeInstance() 让我们得以用几种不同的方法获得标准的日期格式化过程. 在下面的例子中, 我们获取了四个内建的日期格式化过程. 它们包括一个短的, 中等的, 长的, 和完整的日期格式. n6pxz'aVX  
$j _6t91  
以下是引用片段: f;|i  
  import java.text.DateFormat; F[ IZ=Jx  
  import java.util.Date; QI%z4NA  
  public class DateExample4 { QjZ)WN0i  
  public static void main(String[] args) { y:V<,QW  
  Date date = new Date(); }-L !N*X^  
  DateFormat shortDateFormat = Xxd|M~R{  
  DateFormat.getDateTimeInstance( 7P=/G4.'XT  
  DateFormat.SHORT, 0 :5/q?YOz  
  DateFormat.SHORT); pMVH=ByFw  
  DateFormat mediumDateFormat = Iv<H%~  
  DateFormat.getDateTimeInstance( m=r8mS95  
  DateFormat.MEDIUM, o^*:9+>  
  DateFormat.MEDIUM); W=N.oPks  
  DateFormat longDateFormat = m\('[|F  
  DateFormat.getDateTimeInstance( :c8TI3v34  
  DateFormat.LONG, tdJ"kX7w-~  
  DateFormat.LONG); ,2G]OW63  
  DateFormat fullDateFormat = a':Z.ludd  
  DateFormat.getDateTimeInstance( iHj-*?3yk  
  DateFormat.FULL, (kC}#zt p  
  DateFormat.FULL); L} }%'  
  System.out.println(shortDateFormat.format(date)); Yc, ;J:~  
  System.out.println(mediumDateFormat.format(date)); <P7@ HF  
  System.out.println(longDateFormat.format(date)); f+FOaR6Pm  
  System.out.println(fullDateFormat.format(date)); =h>KWHnOP  
  } E1\p(]=e  
  } <`S68GS.  
fp^NlZYEO  
0!gBw{;  
  注意我们在对 getDateTimeInstance的每次调用中都传递了两个值. 第一个参数是日期风格, 而第二个参数是时间风格. 它们都是基本数据类型int(整型). 考虑到可读性, 我们使用了DateFormat 类提供的常量: SHORT, MEDIUM, LONG, 和 FULL. 要知道获取时间和日期格式化过程的更多的方法和选项, 请看Sun 公司Web 站点上的解释. No2y?Uu  
VX 6 Yt|  
运行我们的例子程序的时候, 它将向标准输出设备输出下面的内容: ]2T |#H7)$  
Z&qbmn  
  9/29/01 8:44 PM +7.ut^eUlq  
C :; {Xp:  
  Sep 29, 2001 8:44:45 PM d]u{eh[]  
DZd/w=NOh  
  September 29, 2001 8:44:45 PM EDT U*3 ,?  
W'X-+kGI  
  Saturday, September 29, 2001 8:44:45 PM EDT 4jV ::KC  
BI5+b-ubi  
  Calendar 类 j Wna|v+`  
(FUA"3H  
  我们现在已经能够格式化并创建一个日期对象了, 但是我们如何才能设置和获取日期数据的特定部分呢, 比如说小时, 日, 或者分钟? 我们又如何在日期的这些部分加上或者减去值呢? 答案是使用Calendar 类. 就如我们前面提到的那样, Calendar 类中的方法替代了Date 类中被人唾骂的方法. o!}FB_*%  
=VgoZ.=  
  假设你想要设置, 获取, 和操纵一个日期对象的各个部分, 比方一个月的一天或者是一个星期的一天. 为了演示这个过程, 我们将使用具体的子类 java.util.GregorianCalendar. 考虑下面的例子, 它计算得到下面的第十个星期五是13号. UvHwG W$  
<j-asR  
以下是引用片段: Q;<$ |Lo  
  import java.util.GregorianCalendar; @ZB U  
  import java.util.Date; *g6s  
  import java.text.DateFormat; o[~ee]o,  
  public class DateExample5 { :L6m 1C%  
  public static void main(String[] args) { X]]>m,6A  
  DateFormat dateFormat = xH&9VVIF%  
  DateFormat.getDateInstance(DateFormat.FULL); OJ4n'rp  
  // Create our Gregorian Calendar. P|?IP]0>  
  GregorianCalendar cal = new GregorianCalendar(); )PO[=.m7J  
  // Set the date and time of our calendar 1WA shk  
  // to the system's date and time >vi[$O""n]  
  cal.setTime(new Date()); ]x g}'i~\  
  System.out.println("System Date: " +  vTC/  
  dateFormat.format(cal.getTime())); c,z_d"H  
  // Set the day of week to FRIDAY hpb>0#(s  
  cal.set(GregorianCalendar.DAY_OF_WEEK, fOdF`Y~r  
  GregorianCalendar.FRIDAY); _S&;U?Q   
  System.out.println("After Setting Day of Week to Friday: " + BDYMCR<x  
  dateFormat.format(cal.getTime())); .e1^C Pke  
  int friday13Counter = 0; >'(W8  
  while (friday13Counter <= 10) { KK^WtLl2}c  
  // Go to the next Friday by adding 7 days. G:2}92  
  cal.add(GregorianCalendar.DAY_OF_MONTH, 7); z"yd+o1  
  // If the day of month is 13 we have YS+Jg^fx  
  // another Friday the 13th. iaS(09c 8  
  if (cal.get(GregorianCalendar.DAY_OF_MONTH) == 13) { 5%?]VUQb  
  friday13Counter++; /YnOY_?m  
  System.out.println(dateFormat.format(cal.getTime())); 9%vSaOr=  
  } >hM,Re6G  
  } YYy"pf)w  
  } T$"]J$n^Z  
  } d$>[2-E  
o\dyDw  
"VM@hR@  
  在这个例子中我们作了有趣的函数调用: G'%w(;qh5  
^@cp?O&  
  cal.set(GregorianCalendar.DAY_OF_WEEK, wgVyKk1  
f(&G}B@  
  GregorianCalendar.FRIDAY); E=eL Ayy~  
"C"`Kg  
  和: ER6!iZ4  
_m>m6f  
  cal.add(GregorianCalendar.DAY_OF_MONTH, 7); '< x2XDd  
3')S$n</  
  set 方法能够让我们通过简单的设置星期中的哪一天这个域来将我们的时间调整为星期五. 注意到这里我们使用了常量 DAY_OF_WEEK 和 FRIDAY来增强代码的可读性. add 方法让我们能够在日期上加上数值. 润年的所有复杂的计算都由这个方法自动处理. x.84/  
:3^5 %  
我们这个例子的输出结果是: C?u> f&U  
9awO_2   
  System Date: Saturday, September 29, 2001 V>AfI! ='  
!qzH@<0 j  
  当我们将它设置成星期五以后就成了: Friday, September 28, 2001 G1Nqm{Z  
GOo:|d5VL\  
  Friday, September 13, 2002 l,1\Wr  
-IzkUt_  
  Friday, December 13, 2002 -cxQ}  
>n)]#$*(=  
  Friday, June 13, 2003 #]Fh&>A  
almcf9`N6l  
  Friday, February 13, 2004 w}sN}^8l  
JJM1Z7f  
  Friday, August 13, 2004 F?5/5D'  
dRJ>8'6*  
  Friday, May 13, 2005 OE)!!NO]  
Y5w#-l=K  
  Friday, January 13, 2006 TX\T5I:$  
N&o`ph  
  Friday, October 13, 2006 |GXDU9"?Z  
(t~HUZ&2  
  Friday, April 13, 2007 A">HOMf  
u_F tgQ  
  Friday, July 13, 2007 S)5ViuKC?  
@]-^#[\.  
  Friday, June 13, 2008 r-,\G8D`~  
* Eh|  
  时间掌握在你的手里 PRQZ3j {  
BcyWIy~/{  
  有了这些Date 和Calendar 类的例子, 你应该能够使用 java.util.Date, java.text.SimpleDateFormat, 和 java.util.GregorianCalendar 创建许多方法了. :8$7 K&y  查看本文来源
    • 评论
    • 分享微博
    • 分享邮件
    闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾剧懓顪冪€n亜顒㈡い鎰矙閺屻劑鎮㈤崫鍕戙垽鏌i鐕佹疁妤犵偞鐗曡彁妞ゆ巻鍋撳┑陇鍋愮槐鎺楀箛椤撗勭杹闂佸搫鐭夌换婵嗙暦閸洖鐓涘ù锝夋敱閻繘姊绘担鍛婃儓妞ゆ垵鎳橀弻濠囨晲婢跺﹨鎽曢梺鍝勬祫缁辨洟鎮块埀顒勬煟鎼搭垳绉靛ù婊呭仦缁傛帡鎮欓鍌滅槇濠电偛鐗嗛悘婵嬫倶閻樼粯鐓忛柛顐ゅ枑閸婃劗鈧鍠栭…宄邦嚕閹绢喗鏅柛鏇ㄥ幗濠㈡垿姊虹拠鎻掑毐缂傚秴妫欑粋宥夊冀椤撶偟锛涢梺瑙勫礃椤曆囧礃閳ь剙顪冮妶鍡樺蔼闁告柨娴风划娆掔疀濞戞瑢鎷洪柣鐘充航閸斿苯鈻嶉幇鐗堢厵闁告垯鍊栫€氾拷

    婵犵數濮烽弫鍛婃叏閻戣棄鏋侀柛娑橈攻閸欏繘鏌i幋婵愭綗闁逞屽墮閸婂湱绮嬮幒鏂哄亾閿濆簼绨介柛鏃撶畱椤啴濡堕崱妤€娼戦梺绋款儐閹瑰洭寮诲☉銏″亜闂佸灝顑呮禒鎾⒑缁洘鏉归柛瀣尭椤啴濡堕崱妤€娼戦梺绋款儐閹稿墽妲愰幘鎰佸悑闁告粌鍟抽崥顐⑽旈悩闈涗粶闁哥噥鍋夐悘鎺楁煟閻樺弶绌块悘蹇旂懅缁綁鎮欓悜妯锋嫼閻熸粎澧楃敮鎺撶娴煎瓨鐓曢柟鎯ь嚟濞叉挳鏌熼钘夊姢閻撱倖銇勮箛鎾村櫝闁归攱妞藉濠氬磼濮樺崬顤€闂佸憡顨嗗ú鐔风暦婵傜ǹ唯闁靛/鍕弰濠电姷鏁告慨鎾晝閵堝洠鍋撳鐓庡籍鐎规洩缍€缁犳盯寮崒婊呮濠电姷鏁告慨鎾磹缂佹ɑ娅犳繛鎴欏灪閻撴洟鎮楅敐鍐ㄥ濠碘€茬矙閺屾洟宕惰椤忣厾鈧鍠曠划娆愪繆濮濆矈妲归梺閫炲苯澧悽顖ょ節瀵鎮㈤崗鐓庣檮婵犮垼娉涢敃銉モ枔婵犳碍鈷戦柛婵嗗閻忛亶鏌涢悩宕囧⒌妤犵偛鍟オ浼村醇濠靛牆骞愰梻浣呵归張顒傜矙閹惧箍浜归悗锝庡枟閻撶喖骞栧ǎ顒€鈧倕岣块幇顓犵闁告瑥顥㈤鍫熷仼婵犻潧鐗忛惌娆撴偣閹帒濡芥繛鍫ョ畺濮婃椽宕滈幓鎺嶇凹濠电偛寮堕悧鐘诲箖閳ユ枼妲堥柕蹇ョ磿閸橀亶鏌h箛鏇炰粶濠⒀傜矙閹瞼鈧綆鍋嗙粻楣冩煕椤愩倕鏋戦柛濠冨姈閹便劍绻濋崟顓炵闂佺懓鍢查幊鎰垝閻㈢鍋撻敐搴濈凹闁伙絼鍗冲缁樻媴鐟欏嫬浠╅梺鍛婃煥椤戝鐣烽敓鐘茬闁肩⒈鍓氬▓楣冩⒑闂堟稓绠為柛濠冩礋瀹曟﹢鍩€椤掆偓椤啴濡堕崱妤€顫囬梺绋块瀹曨剟鎯冮鍕拻闁稿本鐟ч崝宥夋倵缁楁稑鎳愰惌娆撴煙鐎电ǹ袥闁稿鎸搁~婵嬫偂鎼达紕鐫勯柣搴ゎ潐濞叉垿宕¢崘鑼殾闁告鍊i悢鍏尖拹闁归偊鍠氬▔鍧楁⒒閸屾瑧绐旀繛浣冲洦鍋嬮柛鈩冪☉缁犵娀骞栧ǎ顒€鐏柛娆忕箲閵囧嫰骞掗崱妞惧闂備礁鐤囬~澶愬垂閸ф鏄ラ柕澶嗘櫅楠炪垺淇婇悙鎻掆挃闁告垼顫夌换婵嬫偨闂堟刀鐐烘煕閵婏附銇濋柡浣割儔閺屟囨嚒閵堝懍娌繛锝呮搐閿曨亝淇婇崼鏇炲窛妞ゆ柨鍚嬮锟犳⒒娴e懙褰掝敄閸涙潙纾归柛锔诲幗瀹曞弶绻涢幋娆忕仼妤犵偑鍨烘穱濠囶敍濠垫劕娈紒鐐緲缁夊綊寮婚敐鍡樺劅闁靛骏绲介ˉ婵嗩渻閵堝繐顩柡浣筋嚙椤曪絿鎷犲顔兼倯闂佸壊鍋掗崑鍛搭敁閸ヮ剚鈷掑ù锝呮啞閸熺偤鏌熼幖浣虹暫鐎规洜澧楅幆鏃堚€﹂幋鐐存珨闂備焦瀵х换鍌炈囨禒瀣瀬闁糕剝銇滈埀顒佸笒椤繈顢楁繝鍌氼潬闂備焦妞块崢浠嬨€冮崱娆愬床婵炴垯鍨圭粻濠氭煛婢跺鐏╅柛鏂惧嵆濮婅櫣绮欏▎鎯у壉闂佸湱鎳撳ú顓烆嚕婵犳碍鏅查柛娑变簼椤秴鈹戦悙鍙夘棡闁告梹娲滄竟鏇㈠箮閼恒儮鎷洪梺鍛婄箓鐎氼厼锕㈤幍顔剧<閻庯綆鍋勯悘鎾煕閳哄啫浠辨鐐差儔閺佸啴鍩€椤掆偓椤斿繐鈹戦崶銉ょ盎闂佸搫娲ㄩ崑鐐哄闯濞差亝鐓冮悹鍥嚋閸旂喓绱掓潏銊﹀磳鐎规洘甯掗埢搴ㄥ箣濠靛棭鐎村┑锛勫亼閸婃垿宕濆畝鍕疇婵せ鍋撴鐐叉閻f繈宕熼銈忕床闂備胶绮崝娆忈缚瑜忕划濠囨晝閸屾稓鍘甸梺绋跨箺閸嬫劙寮冲鈧弻娑㈠棘鐠恒劎鍔梺璇″枤閸嬨倕鐣疯ぐ鎺濇晝闁绘ǹ浜惄搴ㄦ⒒娴e憡璐¢柛搴涘€濆畷褰掓偨閸撳弶鏅滈梺鍐叉惈閹冲繘宕愰崹顐e弿婵妫楁晶缁樹繆閹绘帞绉洪柡灞炬礋瀹曟儼顦叉い蹇e幘閳ь剚顔栭崰鏇犲垝濞嗘劒绻嗘慨婵嗙焾濡插ジ姊洪棃鈺冪シ闁稿骸纾Σ鎰板箻鐎涙ê顎撶紓浣圭☉椤戝懎鈻撻鐐╂斀闁宠棄妫楁禍婵堢磼鐠囪尙澧曟い鏇稻缁绘繂顫濋鐐扮盎缂備胶鍋撴刊鑺ャ仈閹间礁鐤鹃柨婵嗩槹閸嬧剝绻濇繝鍌氭殶閺佸牓姊虹拠鈥虫灍闁挎洏鍨介獮濠囨偐濞茬粯鏅㈤梺绋挎湰缁絿妲愰弻銉︹拺闁告繂瀚峰Σ鎼佹煟濡も偓鐎氭澘鐣峰┑鍥ㄥ劅闁挎繂娲g粭澶愭⒑缂佹ê濮夐柛搴涘€濋幃鈥斥槈閵忊€斥偓鍫曟煟閹邦垱纭剧悮姘舵⒑閸濄儱校闁挎洏鍨藉濠氬焺閸愨晛顎撻梺鑽ゅ枑濠㈡﹢锝為幒妤佸€甸悷娆忓缁€鍫ユ煕閻樺磭澧甸柕鍡曠椤粓鍩€椤掑嫬绠栭柍鍝勬噺閹偞銇勯幇鈺佲偓婵嬪箯婵犳碍鈷掗柛灞捐壘閳ь剙鍢查湁闁搞儜鍛闂佸壊鐓堥崑鍛村矗韫囨稒鐓欓柟顖涙緲琚氶梺鎶芥敱濮婂鍩€椤掆偓缁犲秹宕曢柆宓ュ洭顢涢悙鎻掔€梺绋跨灱閸嬬偤鎮¢姀鈥茬箚妞ゆ牗绮岄惃鎴犵磼鏉堛劌鍝洪柡灞诲妼閳规垿宕遍埡鍌傦妇绱撴担鎻掍壕闁诲函缍嗛崑浣圭濠婂牊鐓涚€广儱鍟俊鍧楁煃閽樺妲圭紒缁樼洴瀹曞ジ鎮㈤搹鍦帨婵犳鍠栭敃銊モ枍閿濆應妲堥柣銏⑶瑰婵囥亜閺傛儳瀚庨柍褜鍓氶崝鏇⑩€旈崘顔嘉ч幖绮光偓鑼嚬婵犵數鍋犵亸娆撳窗閺嵮呮殾婵炲樊浜滈悞鍨亜閹哄秹妾峰ù婊勭矒閺岀喖宕崟顒夋婵炲瓨绮撶粻鏍ь潖濞差亜绠伴幖娣灮閳规稒绻濈喊妯峰亾閾忣偅鎮欓柛妤呬憾閺岀喖鎮ч崼鐔哄嚒缂備緡鍋勭粔褰掑蓟濞戙埄鏁冮柨婵嗘川閻g厧顪冮妶鍡樺鞍婵$偠妫勯~蹇涙惞閸︻厾锛滃┑鈽嗗灠閹碱偊锝炲畝鍕€垫繛鍫濈仢濞呮﹢鏌涢幘瀵告噯闁诲繐鍟村娲川婵犱胶绻侀梺鍝ュУ瀹€绋跨暦閵忋倕绠瑰ù锝呭帨閹锋椽姊洪崨濠冨鞍鐟滄澘鍟粋宥嗙鐎n偆鍘遍柣搴秵娴滄粓顢旈銏$厵妞ゆ梹鏋婚懓鍧楁煛娴gǹ鏆g€规洘甯掗埥澶婎潩椤掆偓缁犵偤姊绘担绛嬪殭闁告垹鏅槐鐐哄幢濞戞ḿ锛涢梺绯曞墲钃辨繛鍛У閵囧嫰骞掗幋婵冨亾閼姐倕顥氬┑鍌氭啞閻撴洟鎮橀悙鎻掆挃闁宠棄顦辩槐鎺戭渻閿曗偓濞诧箓鎮″▎鎾寸厽闁绘柨鎲$欢鍙夈亜韫囷絽寮柡宀€鍠栭幃鈩冩償閵忥絿顢呴梻浣烘嚀瀵爼骞愰崘鑼殾闁绘柨鍚嬮ˉ鍫熺箾閹寸偟鎳勯柣婵撶節濮婂宕掑顑藉亾閹间礁纾瑰瀣捣閻棗銆掑锝呬壕濡ょ姷鍋為悧鐘汇€侀弴銏犖ч柛灞剧煯婢规洖鈹戦鐭亜鐣烽鍕偍閻庣數纭堕崑鎾舵喆閸曨剛顦ョ紓鍌氱Т閿曨亜顕f繝姘耿婵°倕锕ら幃鎴︽⒑閸涘﹣绶遍柛銊ф櫕濡叉劙鏌嗗鍡欏幗闁硅壈鎻槐鏇㈡偩椤撱垺鐓曢幖娣妺閹查箖鎸婂┑鍠㈠綊宕楅崗鑲╃▏缂佺偓宕樺▔鏇㈠焵椤掆偓缁犲秹宕曢柆宓ュ洦瀵肩€涙ê浜楅梺鍝勬储閸ㄦ椽鎮″☉銏$厱闁靛绲介崝姘攽閿涘嫬甯舵い顓″劵椤т線鏌涢妸銈呭祮婵犫偓娓氣偓濮婅櫣绱掑Ο鎾虫贡缁棃顢氶埀顒勩€侀弮鍫濋唶闁绘棁娅i弳銏ゆ⒒閸屾艾鈧兘鎮為敂閿亾缁楁稑鎳忓畷鏌ユ煕鐏炵虎鍤ゆ繛鎴烆焸閺冨牆宸濇い鎾跺Т楠炴帡姊绘担鍛婃儓婵炲眰鍨藉畷鐟懊洪鍛簵闂佸憡鍔︽禍婵嬪窗閹邦厾绡€濠电姴鍊绘晶鏇犵磼閳ь剟宕奸悢绋垮伎濠碘槅鍨辩€笛呮兜妤e啯鐓㈤柛鎰典簻閺嬫盯鏌$仦鐐缂佺粯绋栭ˇ鏌ユ倵濮樺崬鍘寸€规洘鍨挎俊鎼佸煛閸屾瀚肩紓鍌氬€烽悞锕傛晪婵犳鍠栧ú锕傚Φ閸曨垰鍗抽柕濞垮劚缁秹姊虹化鏇熸澓闁搞劏妫勯锝夊箻椤旂⒈娼婇梺鐐藉劜閺嬪ジ宕戦幘缁樺仺闁告稑锕﹂崣鍡椻攽閻樼粯娑ф俊顐n殜閸┾偓妞ゆ帒鍊归崵鈧梺瀹狀嚙缁夌懓鐣烽崼鏇炍╅柨婵嗗閻╁酣姊绘繝搴′簻婵炶濡囩划娆撳箛閺夎法鐤呮俊銈忕到閸燁垶鎮″☉銏″€堕柣鎰版涧娴滃墽绱掗埀顒傗偓锝庡厴閸嬫挾鎲撮崟顒傤槹婵炲瓨绮岄悥濂稿Υ娴e壊娼ㄩ柍褜鍓熼獮鍐閿涘嫰妾繝銏f硾椤﹁鲸寰勯敓锟�

    重磅专题
    往期文章
    最新文章