月份和年份日期转换

时间:2016-09-20 05:41:25

标签: php datetime laravel-5.2 authorize.net

我有一个信用卡到期日,月份和年份只是以字符串08/17的形式出现,如何以格式更改此字符串,以便我可以将其传递给Authorize.net < / p>

$creditCard->setExpirationDate( "2017-08");

我曾尝试使用strtotime(),但它给了我当前年份

echo $date = date('Y-m', strtotime($ccInfo['exp_date']));

2 个答案:

答案 0 :(得分:5)

您应该使用date_create_from_format代替strtotime来构建日期:

echo date_create_from_format('m/y', '08/17')->format('Y-m');

该函数创建一个\DateTime对象,因此您可以调用format来获取所需的格式。

答案 1 :(得分:0)

您也可以这样写

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

char *my_fgets(char my_string[], int bytes, FILE *fp) {
    int c, i = 0;

    if (bytes <= 0)
        return my_string;

    while (i < bytes - 1 && ((c = getc(fp)) != EOF) {
        my_string[i++] = c;
        if (c == '\n')
            break;
    }
    my_string[i] = '\0'; //adding NUL character at the end

    if (i > 0) {
        return my_string;
    } else {
        return NULL;  // no character read at end of file
    }
}

int main(void) {
    char my_string[15];
    int n;
    char *p;

    p = my_fgets(my_string, sizeof(my_string), stdin);

    printf("%s\n", my_string);
    printf("%s\n", p);

    return 0;
}