Click here to Skip to main content
16,021,905 members
Articles / Programming Languages / C#
Article

Persian Calendar with Simulated PHP Methods in C#

Rate me:
Please Sign up or sign in to vote.
3.28/5 (17 votes)
1 Jan 2009CPOL1 min read 47.9K   1.7K   14   6
Generate Persian Calendar with simulated PHP methods
MDCalendar.jpg

Introduction

I was already using PHP for programming; I was using the following methods for date:

  • time
  • mktime
  • date

Since I'm using C#, I always like to write a class with these methods because usage of these methods is much easier than C# classes (in my opinion). Finally, I wrote this class and you can use it. You can use this library like PHP methods (time, mktime, date).

MohammadDayyanCalendar Methods

  • C#
    public uint Time()

    Returns the current time measured in the number of seconds since the Unix Epoch (January 1 1970 00:00:00 GMT).

  • C#
    public string Date(string Format, double Seconds, bool persianNumbers)
  • Returns a string formatted according to the given format string using the given double second. You can see all supported formats in the Persian document.

  • C#
    public int Mktime(int year, int month, int day, int hour, int minute, int second)

    Returns the Unix timestamp corresponding to the arguments given. This time is an integer containing the number of seconds between the Unix Epoch (January 1 1970 00:00:00 GMT) and the time specified.

Using the Code

Let's see how we can work with this class.

Add this class to your project references:

help01.jpg

help02.jpg

Now we can use this DLL in our own project:

C#
public Form1()
{
    InitializeComponent();

    MDCalendar mdCalendar = new MDCalendar();
    DateTime date = DateTime.Now;
    TimeZone time = TimeZone.CurrentTimeZone;
    TimeSpan difference = time.GetUtcOffset(date);
    uint currentTime = mdCalendar.Time() + (uint)difference.TotalSeconds;
    label1.Text = mdCalendar.Date("W D M Y G   ....   d E Z A", currentTime, true);
    label2.Text = mdCalendar.Date("H : i : s", currentTime, true);
}

Enjoy!

History

  • 14th June, 2008: First post
  • 27th December, 2008: Last update

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Iran (Islamic Republic of) Iran (Islamic Republic of)
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Comments and Discussions

 
GeneralMy vote of 1 Pin
M.Khadem17-Oct-09 0:53
M.Khadem17-Oct-09 0:53 
GeneralMy vote of 1 Pin
mheidari22-Jul-09 21:06
mheidari22-Jul-09 21:06 
GeneralMy vote of 1 Pin
Rob Graham1-Jan-09 13:12
Rob Graham1-Jan-09 13:12 
Generalpublic uint Time() : Pin
Xaroth15-Jun-08 1:13
Xaroth15-Jun-08 1:13 
why not make it a signed int to make it uniform to mktime, solving the constant need of casting from uint to int when used together.

also, making it an uint assumes that there is nothing prior to 1-1-1970, while there is...
GeneralRe: public uint Time() : Pin
Mohammad Dayyan15-Jun-08 3:33
Mohammad Dayyan15-Jun-08 3:33 
GeneralRe: public uint Time() : Pin
Rob Graham1-Jan-09 13:07
Rob Graham1-Jan-09 13:07 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.