@@ -182,6 +182,7 @@ const zend_function_entry date_functions[] = {
182
182
PHP_FE (date_date_set , NULL )
183
183
PHP_FE (date_isodate_set , NULL )
184
184
PHP_FE (date_timestamp_set , NULL )
185
+ PHP_FE (date_timestamp_get , NULL )
185
186
186
187
PHP_FE (timezone_open , NULL )
187
188
PHP_FE (timezone_name_get , NULL )
@@ -215,6 +216,7 @@ const zend_function_entry date_funcs_date[] = {
215
216
PHP_ME_MAPPING (setDate , date_date_set , NULL , 0 )
216
217
PHP_ME_MAPPING (setISODate , date_isodate_set , NULL , 0 )
217
218
PHP_ME_MAPPING (setTimestamp , date_timestamp_set , NULL , 0 )
219
+ PHP_ME_MAPPING (getTimestamp , date_timestamp_get , NULL , 0 )
218
220
{NULL , NULL , NULL }
219
221
};
220
222
@@ -2267,6 +2269,32 @@ PHP_FUNCTION(date_timestamp_set)
2267
2269
}
2268
2270
/* }}} */
2269
2271
2272
+ /* {{{ proto long date_timestamp_get(DateTime object)
2273
+ Gets the Unix timestamp.
2274
+ */
2275
+ PHP_FUNCTION (date_timestamp_get )
2276
+ {
2277
+ zval * object ;
2278
+ php_date_obj * dateobj ;
2279
+ long timestamp ;
2280
+ int error ;
2281
+
2282
+ if (zend_parse_method_parameters (ZEND_NUM_ARGS () TSRMLS_CC , getThis (), "O" , & object , date_ce_date ) == FAILURE ) {
2283
+ RETURN_FALSE ;
2284
+ }
2285
+ dateobj = (php_date_obj * ) zend_object_store_get_object (object TSRMLS_CC );
2286
+ DATE_CHECK_INITIALIZED (dateobj -> time , DateTime );
2287
+ timelib_update_ts (dateobj -> time , NULL );
2288
+
2289
+ timestamp = timelib_date_to_int (dateobj -> time , & error );
2290
+ if (error ) {
2291
+ RETURN_FALSE ;
2292
+ } else {
2293
+ RETVAL_LONG (timestamp );
2294
+ }
2295
+ }
2296
+ /* }}} */
2297
+
2270
2298
static int timezone_initialize (timelib_tzinfo * * tzi , /*const*/ char * tz TSRMLS_DC )
2271
2299
{
2272
2300
char * tzid ;
0 commit comments