Exemplo n.º 1
0
TypedValue* HHVM_FN(strtotime)(ActRec* ar) {
  GET_ARGS_AND_CALL(ar, strtotimeImpl);
}
Exemplo n.º 2
0
      String{getArgStrict<KindOfString>(ar, 0)},                               \
      getArgStrict<KindOfInt64>(ar, 1, TimeStamp::Current())));                \
  } catch (const IncoercibleArgumentException& e) {                            \
    return arReturn(ar, false);                                                \
  }                                                                            \

static Variant dateImpl(const String& format, int64_t timestamp) {
  if (format.empty()) return empty_string_variant();
  auto dt = req::make<DateTime>(timestamp, false);
  String ret = dt->toString(format, false);
  if (ret.isNull()) return false;
  return ret;
}

TypedValue* HHVM_FN(date)(ActRec* ar) {
  GET_ARGS_AND_CALL(ar, dateImpl)
}

static Variant gmdateImpl(const String& format, int64_t timestamp) {
  auto dt = req::make<DateTime>(timestamp, true);
  String ret = dt->toString(format, false);
  if (ret.isNull()) return false;
  return ret;
}

TypedValue* HHVM_FN(gmdate)(ActRec* ar) {
  GET_ARGS_AND_CALL(ar, gmdateImpl)
}

static Variant strftimeImpl(const String& format, int64_t timestamp) {
  auto dt = req::make<DateTime>(timestamp, false);
Exemplo n.º 3
0
  int64_t ret = DateTime(timestamp, false).toInteger(*format.data());
  if (ret == -1) return false;
  return ret;
}

#define GET_ARGS_AND_CALL(ar, func)                                            \
  try {                                                                        \
    return arReturn(ar, func(                                                  \
      getArgStrict<KindOfString>(ar, 0),                                       \
      getArgStrict<KindOfInt64>(ar, 1, TimeStamp::Current())));                \
  } catch (const IncoercibleArgumentException& e) {                            \
    return arReturn(ar, false);                                                \
  }                                                                            \

TypedValue* HHVM_FN(idate)(ActRec* ar) {
  GET_ARGS_AND_CALL(ar, idateImpl)
}

static Variant dateImpl(const String& format, int64_t timestamp) {
  if (format.empty()) return empty_string_variant();
  String ret = DateTime(timestamp, false).toString(format, false);
  if (ret.isNull()) return false;
  return ret;
}

TypedValue* HHVM_FN(date)(ActRec* ar) {
  GET_ARGS_AND_CALL(ar, dateImpl)
}

static Variant gmdateImpl(const String& format, int64_t timestamp) {
  String ret = DateTime(timestamp, true).toString(format, false);