😈
ReverseMe
  • Introduction
  • References
  • ReverseMe
    • Introduction
      • What is Reverse Engineering?
      • Legality of Reverse Engineering
      • Reverse Engineering Communities
  • Programming Language
    • C
      • Basic
        • Pointer
        • Casting
      • Reference
        • stdio.h
          • fclose()
          • fopen()
          • fseek()
          • ftell()
          • fgetc()
          • fgets()
          • fread()
          • fprintf()
          • fwrite()
          • printf()
          • putchar()
          • puts()
          • sprintf()
          • snprintf()
        • stdlib.h
          • malloc()
          • calloc()
          • realloc()
          • free()
          • rand()
          • srand()
        • string.h
          • strcat()
          • strncat()
          • strcmp()
          • strncmp()
          • strcpy()
          • strncpy()
        • time.h
          • time()
  • Reversing Fundamentals
    • Stripped and Unstripped
  • Tools
    • file
    • strings
    • ltrace
    • ghidra
  • CTF Writeups
    • HackTheBox Challenges
      • Baby RE
      • You Cant C Me
  • ABOUT ME
    • Mail
    • LinkedIn
    • GitHub
Powered by GitBook
On this page
  • Sintaks
  • Contoh Penggunaan
  • Penjelasan Kode
  1. Programming Language
  2. C
  3. Reference
  4. time.h

time()

Mendapatkan waktu saat ini dalam C

Fungsi time() digunakan untuk mengembalikan waktu saat ini dalam bentuk nilai time_t. Nilai ini umumnya menyatakan jumlah detik yang telah berlalu sejak Epoch (1 Januari 1970, UTC), dan banyak digunakan sebagai dasar untuk perhitungan waktu, log, atau untuk menginisialisasi seed pada fungsi penghasil bilangan acak.

Sintaks

time_t time(time_t *t);
  • t âžœ Jika pointer ini tidak NULL, nilai waktu yang diperoleh juga disimpan pada lokasi yang ditunjuk oleh t.

  • Mengembalikan:

    • Nilai waktu saat ini sebagai time_t jika berhasil.

    • ((time_t)-1) jika terjadi kesalahan.

Contoh Penggunaan

#include <stdio.h>
#include <time.h>

int main(void) {
    // Mendapatkan waktu saat ini
    time_t sekarang = time(NULL);

    // Periksa apakah time() gagal
    if (sekarang == ((time_t)-1)) {
        perror("Gagal mendapatkan waktu");
        return 1;
    }

    // Menampilkan nilai time_t (jumlah detik sejak Epoch)
    printf("Waktu saat ini (time_t): %ld\n", sekarang);

    // Mengonversi nilai time_t ke string yang merepresentasikan waktu lokal
    char *waktuString = ctime(&sekarang);
    if (waktuString == NULL) {
        perror("Gagal mengonversi waktu");
        return 1;
    }

    printf("Waktu lokal: %s", waktuString);

    return 0;
}

Hasilnya:

Waktu saat ini (time_t): 1681741234
Waktu lokal: Fri Apr 17 14:20:34 2023

Penjelasan Kode

  • Mengambil Waktu Saat Ini:

    • time(NULL) mengembalikan waktu saat ini dalam bentuk time_t.

    • Jika terjadi kesalahan, fungsi mengembalikan ((time_t)-1).

  • Pengecekan Error:

    • Program memeriksa apakah nilai yang dikembalikan adalah ((time_t)-1) untuk menangani kemungkinan kesalahan.

  • Konversi ke String:

    • Fungsi ctime(&sekarang) mengonversi nilai time_t menjadi string yang dapat dibaca (misalnya, "Fri Apr 17 14:20:34 2023\n").

    • Jika ctime() mengembalikan NULL, artinya konversi gagal.

  • Output:

    • Program menampilkan kedua informasi: nilai time_t (jumlah detik sejak Epoch) dan string waktu lokal.

Previoustime.hNextReversing Fundamentals

Last updated 2 months ago