首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

IntlCalendar::set

(PHP 5.5.0, PHP 7, PECL >= 3.0.0a1)

IntlCalendar::set — Set a time field or several common fields at once

Description

Object oriented style

代码语言:javascript
复制
public bool IntlCalendar::set ( int $field , int $value )
代码语言:javascript
复制
public bool IntlCalendar::set ( int $year , int $month [, int $dayOfMonth = NULL [, int $hour = NULL [, int $minute = NULL [, int $second = NULL ]]]] )

Procedural style

代码语言:javascript
复制
bool intlcal_set ( IntlCalendar $cal , int $field , int $value )
代码语言:javascript
复制
bool intlcal_set ( IntlCalendar $cal , int $year , int $month [, int $dayOfMonth = NULL [, int $hour = NULL [, int $minute = NULL [, int $second = NULL ]]]] )

Sets either a specific field to the given value, or sets at once several common fields. The range of values that are accepted depend on whether the calendar is using the lenient mode.

For fields that conflict, the fields that are set later have priority.

This method cannot be called with exactly four arguments.

Parameters

cal

The IntlCalendar resource.

field

One of the IntlCalendar date/time field constants. These are integer values between 0 and IntlCalendar::FIELD_COUNT.

value

The new value of the given field.

year

The new value for IntlCalendar::FIELD_YEAR.

month

The new value for IntlCalendar::FIELD_MONTH.

dayOfMonth

The new value for IntlCalendar::FIELD_DAY_OF_MONTH. The month sequence is zero-based, i.e., January is represented by 0, February by 1, …, December is 11 and Undecember (if the calendar has it) is 12.

hour

The new value for IntlCalendar::FIELD_HOUR_OF_DAY.

minute

The new value for IntlCalendar::FIELD_MINUTE.

second

The new value for IntlCalendar::FIELD_SECOND.

Return Values

Returns TRUE on success and FALSE on failure.

Examples

Example #1 IntlCalendar::set()

代码语言:javascript
复制
<?php
ini_set('date.timezone',?'Europe/Lisbon');
ini_set('intl.default_locale',?'pt_PT');

//Calls?made?later?have?priority
$cal?=?new?IntlGregorianCalendar(2013,?6?/*?July?*/,?1);
$cal->set(IntlCalendar::FIELD_YEAR,?2012);
$cal->set(IntlCalendar::FIELD_EXTENDED_YEAR,?2011);
var_dump(IntlDateFormatter::formatObject($cal));


$cal?=?new?IntlGregorianCalendar(2013,?6?/*?July?*/,?1);
$cal->set(IntlCalendar::FIELD_YEAR,?2012);
$cal->set(IntlCalendar::FIELD_EXTENDED_YEAR,?2011);
//the?time?has?not?been?recalculated?yet.?If?we?clear?the?extended?year,
//the?year?set?before?will?be?used
$cal->clear(IntlCalendar::FIELD_EXTENDED_YEAR);
var_dump(IntlDateFormatter::formatObject($cal));

The above example will output:

代码语言:javascript
复制
string(20) "01/07/2011, 00:00:00"
string(20) "01/07/2012, 00:00:00"

See Also

  • IntlCalendar::get() - Get the value for a field
  • IntlCalendar::add() - Add a (signed) amount of time to a field
  • IntlCalendar::roll() - Add value to field without carrying into more significant fields

← IntlCalendar::roll

IntlCalendar::setFirstDayOfWeek →

代码语言:txt
复制
 ? 1997–2017 The PHP Documentation Group

Licensed under the Creative Commons Attribution License v3.0 or later.

扫码关注腾讯云开发者

领取腾讯云代金券

http://www.vxiaotou.com